Hey everybody, I've put together some basic utilities to bootstrap a raw perlmonks from the XML available here on the server. It'll improve as patches get applied to correct missing pieces and as more people take a look at it. I've got a wider goal to unify the codebase with E2, and so that the improvements we are making over there can wash back with you guys.

https://github.com/perlmonks/perlmonks.
What's working: What's missing:

Going forward, I'd like to know how the administration would like to handle patches to the core libraries. I've made two small ones to Everything::NodeBase to handle conditions that won't come up in production, only bootstrapping, but after we're settled and bootstrappable w/o errors, I'm going to see what we can do to merge the codebases, and move forward.

As a note, the vagrant environment is VERY convenient for Devel::NYTProf and Apache::DB so it makes really digging into the code quite easy. Happy hacking!


    --jaybonci
  • Comment on Github repo up, bootstrap partially working

Replies are listed 'Best First'.
Github repo up, bootstrap working 98%
by JayBonci (Curate) on Mar 19, 2012 at 19:24 UTC
    Hey folks, after the last patch applied from tye (thanks!), the site bootstraps about 98% properly, and I'm ready for people to poke at it and submit patches and updates. A few caveats:
    • The root password as in the pm user account 'root' is "blah"
    • Root does not belong to the gods usergroup. This is a slight deficiency in the way the nodegroup data gets pulled from the nodescrape repo. You can insert the user account on the back end with "INSERT INTO nodegroup (nodegroup_id,node_id) VALUES(114,113);"
    • If you see a node that should have content, but does not, then you will need to add the appropriate skeleton driver for it in Everything::node::*. You can see plenty of examples in there of E2 types and a few perlmonk types to get it to work. For instance, I needed to tell it that css nodetypes are descendants of document_id, so that it knew to clone node_id into document_id and then insert those two fields on bootstrap.
    • There are some E2isms hard-coded in, but if you see one, it's an opportunity to abstract it away.
    • If you need to scp out of the box, I'll have more docs available there eventually, but the root password is vagrant, or you can add the edev_root key to your agent.
    • We're missing some of the bot agents, such as NodeReaper
    I'm happy to assist anyone in getting the environment set up.


        --jaybonci