Download presentation
Presentation is loading. Please wait.
Published byJack Harrington Modified over 8 years ago
1
#SummitNow Lessons Learnt From Share Extras Alfresco Summit 2013 Will Abson / @wabson
2
#SummitNow My Role at Alfresco At Alfresco since 2005 First Share Customizations 2008 Founded Share Extras project 2010 Joined Integrations Team 2012
3
#SummitNow What is Share Extras? Project started in 2010 Now provides over 40 add-ons Tens of 1,000s of downloads Originally hosted on Google Code http://code.google.com/p/share-extras Now moved to GitHub I will talk about this some more https://github.com/share-extras
4
#SummitNow Some Examples
5
#SummitNow What does Share Extras do? Hosting of add-ons Best practice sharing and ‘SDK’ Our role is changing Increasing maturity of services allowing you to host your own projects But, more frameworks and tools Concentrate on processes and contributions
6
#SummitNow
7
Migration to GitHub Started end of 2012 Completed Nov 2013 Not just a matter of copying source files over! Issues Wiki pages Releases / Downloads
8
#SummitNow From Subversion to Git Code migration was the first major task git-svn is a great tool Branches were preserved Tags were added afterwards Needed to map committer identities
9
#SummitNow Breaking Apart the Project Previously a single monolithic project Google Code has no concept of organizations, only individual isolated projects Smaller projects are much better for encouraging contributions
10
#SummitNow Old Source Layout / trunk Audit Dashlet BBC Weather Dashlet CKEditor Form Control Content Expiration... branches1.0... tags
11
#SummitNow New Source Layout share-extras share-oauth master 1.0 oauth2-connector refresh-tokens... media-viewers audit-dashlet js-console...
12
#SummitNow Contributing to the Project Forking is a good thing Three separate pull requests in first three weeks on GitHub
13
#SummitNow Git vs. Subversion master, not trunk Branch early, branch often No working copies – clone vs. checkout Ability to work offline Reduced disk space for multiple branches
14
#SummitNow Maven Usage Alfresco Maven SDK Parent POM Maven usage is increasing Used by both Java-based add-ons JavaScript Console Share OAuth Starting to be applied to other add-ons Media Viewers
15
#SummitNow Documentation Project web site was previously the Google Code project page
16
#SummitNow Old Documentation Wiki pages were used to document each add-on, plus for specific general topics READMEs in project source provided some basic details, plus instructions on building and installing Content got out of sync
17
#SummitNow New Documentation Add-ons are documented fully in a README.md file (Markdown format) GitHub renders README files on the project page New project web site at share- extras.github.ioshare- extras.github.io Also a Git repo on share-extras/share- extras.github.com
18
#SummitNow
19
GitHub-flavored Markdown Simple, intuitive syntax e.g. *bold*, _italics_ Readable as text as well as when formatted Easily transformed to HTML
20
#SummitNow New Web Site Static content authored as HTML Projects split into Add-ons and SDK Project pages generated from READMEs Uses repository metadata from GitHub API Project listings ordered by update time, most recently-updated first Uses Bootstrap for basic styling
21
#SummitNow
23
Packaging JAR format was used for most projects JS Console had both JARs and AMPs Aim for both for all projects going forward AMP files should contain only the JAR file plus module.properties file for ease of removal Regardless of build system (Ant / Maven) Artifacts should be deployed to Maven
24
#SummitNow Release Process 1.Build locally 2.Tag release in Git and push tag 3.Edit release name and notes in GitHub 4.Add artifacts to the release 5.Push artifacts to Maven
25
#SummitNow Customizing Share Evolution of Alfresco UI customization Image: http://en.wikipedia.org/wiki/File:Human_evolution_scheme.svghttp://en.wikipedia.org/wiki/File:Human_evolution_scheme.svg
26
#SummitNow Future Unit/Integration Testing Frameworks being investigated by UI Team Continuous Integration Service More use of Maven Apply to more projects Share Extras Parent POM
27
#SummitNow More Information http://sharextras.github.io/
28
#SummitNow
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.