thank Mikko for your thought..
problem with approach 2 is the point update will not be real time, i.e user who just published a new article may wait for a while before he saw his/her points updated.that said, I am more leaning toward option 1, but then where is the code get called after user created a new content? (I think just tracking the save button on the authoring page is not enough, because use may just update the article, in that case, we don't want to add point when user click save button...) I guess there must be an event corresponding to new article added...