One of Advanced Mobile Contributions project requirements is tag user actions with `advanced mobile edit` tag.
The AMC tag should be applied under two conditions:
- the user acts in mobile web view
- the AMC mode is enabled in Special:MobileOptions page
If those two conditions are fulfilled we want to log actions listed below:
- blocking & unblocking
- delete article entries
- review changes (PageTriage extension)
- thanks (Thanks extension)
- moving pages
- protecting pages
- pending changes
The only place where we can define tags is the place where `ManualLogEntry` object is created and inserted to the database. This would cause a hard dependency between MediaWiki Core/PageTriage/Thanks extensions and MobileFrontend extension (where the Advanced Mobile Contributions mode lives).
###Developer Notes
Most probably we should use Hooks system, and MobileFrontend should listen to InsertLog hook and inject tags. There are two possible ways of doing that:
- call the hook inside the `ManualLogEntry::insert())` method, most probably this will require a bit of refactoring
- create hooks for each log entry point, and make MobileFrontend listen to all newly created hooks
Note: Some of the logs (like block log) can already contain the `advanced mobile edit` tag. Some actions during `ManualLogEntry` apply the set of tags applied to related `RecentChange` object. AMC is using the `RecentChangeSave` hook to apply `advanced mobile edit` tag, which then is applied to the Log entry. The tagging system should take care of that and apply only one tag.