Symfony programming

67 views
Skip to first unread message

Tim Schofield

unread,
Dec 14, 2016, 12:49:16 AM12/14/16
to AtoM Users
Hi

If I wanted to do some plugin development for AtoM, what version of Symfony would I be best using?
I see AtoM v2.3 uses Symfony 1.4, but that isn't supported any more. The latest version of Symfony is 3.4 I think?!

Regards


Tim Schofield

Dan Gillean

unread,
Dec 14, 2016, 11:05:47 AM12/14/16
to ICA-AtoM Users
Hi Tim,

Unfortunately, we're still stuck using Symfony 1.4 for now. Symfony 2.x and later versions (as well as later versions of Propel, the ORM used in Symfony 1.x) introduced a number of non-backwards compatible changes that would require a major overhaul to AtoM's code for us to be able to implement. As an open-source project we freely maintain following what we sometimes call the Bounty Model - in which we give away and maintain our software, the docs, the forum, and additional resources like those on the wiki, our slideshare account, and our YouTube channel, and then use resources from our additional paid services to enhance and maintain the projects - we lack the resources to be able to take on such a major overhaul without sponsorship or other forms of support (such as pull requests) from our community. For more on our development approach and business model, please see:

In the meantime, we monitor Symfony 1.x as well as a community-maintained fork of the 1.x project for security issues and major patches, and merge these in as necessary. In the long-term, we are already at the initial stages of considering what the next-generation version of AtoM will look like, and given the shift in international archival standards coming via the ICA's RiC-CM to a linked-data approach, we anticipate a full reassessment of the underlying technologies used for AtoM 3 and prefer to focus our efforts on this going forward - and ensuring that when the time comes, there will be an upgrade/migration path available for AtoM 2 users. At present however, we intend to continue maintaining and developing AtoM 2, updating outdated libraries and dependencies as we are able, encouraging our community to sponsor not just features but also critical maintenance tasks, and considering how best to refactor and include our community in the decision making process for what comes next. We expect AtoM 2 will be around for years to come, and are committed to finding ways to address any critical dependency updates as needed. AtoM 3 is a long way off currently and will require major community investment to become more than just an idea, and as such, we are aiming to ensure that AtoM 2 will remain viable into the future.

Let me know if you have any questions about this! And if you are interested in submitting pull requests to support upgrades, we welcome those - preferably in atomic commits so our developers can review the changes and merge them in with minimal conflicts. If you feel like the plugin you are developing might be useful to the broader community, you might consider submitting it as a PR as well! I'll include some basic resources on AtoM development, and Symfony 1.x development below.

We have some initial wiki pages on our coding standard, code repository, code review process, and more available on our wiki here:

These are not yet comprehensive, so feel free to ask questions here, and our devs will try to provide basic guidance. If you intend to share your work back with the public project, we welcome work-in-progress PRs as a way of getting some input mid development, rather than at the end. By sharing your code with the public project, it reduces the ongoing maintenance burden for you and/or your institution, as we will take over maintaining the feature through subsequent releases. Because this can of course be risky for - especially if the code does not follow our established development patterns, we may request changes to make the feature more in-line with our code practices, or more configurable so it can meet a broad section of our community's needs and use cases, etc. As such, we also recommend budgeting time in any project for this review and refinement process.

In terms of Symfony 1.x:

This thread includes a number of links to relevant Symfony 1.x documentation and other AtoM resources that should help you get started:

Since we also encourage themes to be developed as plugins, you might find the parts of our brief tutorial on theme development, which covers registering a new plugin useful as well:

If you're looking for an easy-to-create development environment, you might consider using our Vagrant box: we use it internally for both testing and development. See:

We also have some YouTube command-line tutorials - the first 3 cover installation of the Vagrant box:

And be sure to search previous forum threads, our developers have offered a lot of tips over the years.

Cheers,


Dan Gillean, MAS, MLIS
AtoM Program Manager
Artefactual Systems, Inc.
604-527-2056
@accesstomemory

--
You received this message because you are subscribed to the Google Groups "AtoM Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ica-atom-users+unsubscribe@googlegroups.com.
To post to this group, send email to ica-atom-users@googlegroups.com.
Visit this group at https://groups.google.com/group/ica-atom-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/ica-atom-users/81b5d5d2-f317-4f49-ba53-29d7cedeb450%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Tim Schofield

unread,
Dec 15, 2016, 5:36:24 AM12/15/16
to AtoM Users
That's fantastic Dan. I was worried about starting off in the wrong direction. Incidentally, we me at Kew a couple of weeks ago - I was the guy asking about where "qubit" came from. It's early days yet but I'll be sure to get back to you when I have something to show.

Until then (or until I get stuck and need help)

Regards

Tim Schofield
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.

Dan Gillean

unread,
Dec 15, 2016, 9:31:57 AM12/15/16
to ICA-AtoM Users
Oh great, it was a pleasure to meet you, if only in passing, Tim! Let us know how it goes :)

Dan Gillean, MAS, MLIS
AtoM Program Manager
Artefactual Systems, Inc.
604-527-2056
@accesstomemory

To unsubscribe from this group and stop receiving emails from it, send an email to ica-atom-users+unsubscribe@googlegroups.com.
To post to this group, send email to ica-atom-users@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages