Hi,
As part of the Node.js prototype spike
<https://trello.com/c/11vVs1El/2-spike-hr-investigate-building-a-node-js-service-for-mobile-apps-content>,
I created a Github repo:
https://github.com/berndsi/service-mobileapp-node/tree/dev
Note that this is the dev branch, where I put the mobileapp specific code
for now. Most info is available in the README. It tells you how to get
started, install the prerequisites, and how to run and use the service. I
also added a troubleshooting section at the end. As mentioned there, I had
to nuke the node_modules folder a few times. Besides that, it went quite
smoothly.
The current version uses mobileview action as the source, and then removes
a few DOM elements (via the domino node module).
It uses the bluebird node module for the promises implementation, which
makes async code nicer.
You can try an example once you have it installed with
http://localhost:6927/en.m.wikipedia.org/v1/mobileapp/lite/cat.
I originally forked
https://github.com/wikimedia/service-template-node
but needed two repos in my Github account, so I can push template changes
upstream, and another to develop the mobileapp code.
Marko and Gabriel from the services team created the template and helped me
getting started. Thank you!
This is just a prototype. So, here's a short list of ideas we could try to
make this more useful for a Mobile Lite app that doesn't require use
WebViews:
* Use Parsoid as mentioned in
https://phabricator.wikimedia.org/T90758#1074382
* Split the "text" objects of each section into paragraph and table objects
* Add some transformations that currently are being done by the apps and
remove some more unneeded data
Cheers,
Bernd