AtoM is built in PHP, using the Symfony 1.x framework and the Propel ORM - so you will need to familiarize yourself with Symfony 1.4 to develop new features or modules:
In general, we recommend that developers adding features to AtoM follow Symfony's plugin development model. Most of the existing modules in AtoM and ICA-AtoM have been built as plugins - developing this way makes them easier to maintain in the long-term. Here are some of the best Symfony 1.x resources on Plugin development:There is also a Symfony plugins page that lists "1453 symfony plugins developed by 609 contributors." This can be a great reference, to see how others using Symfony have developed their plugins for other projects. See:
All of AtoM's plugins can be found here, for reference: https://github.com/artefactual/atom/tree/qa/2.3.x/plugins
For themes, we recommend the same approach - develop the custom theme as a separate plugin which extends the base arDominionPlugin theme. We have included the ArchivesCanada theme as a reference for developers, so they can study the code and see how it extends the base theme. See:
On our new wiki, we have some general resources that might help you as well. Here are some general resources about our code repository, contributing code, our own code review process, and some of the code standards we at Artefactual try to adhere to for consistency:
I've also recently started a page where I am trying to document other community development efforts - this way, you can look at how others have approached plugin, theme, or feature development. There is some information on each, as well as links to the relevant GitHub repositories where the code is hosted:
User forum threads about plugin development generally:
--
You received this message because you are subscribed to the Google Groups "ICA-AtoM Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ica-atom-user...@googlegroups.com.
To post to this group, send email to ica-ato...@googlegroups.com.
Visit this group at http://groups.google.com/group/ica-atom-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/ica-atom-users/86d9b879-5168-4bb5-a34a-61c72f2acef8%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.