![Page 1: Yo SDK 3 · PDF fileyo alfresco:amp-add-common # add 3rd party AMPs like JS ... yo alfresco:model # scafold model in repo source ... WebScripts and custom content models)](https://reader033.vdocuments.mx/reader033/viewer/2022052607/5a70d9a87f8b9aa2538c6c8e/html5/thumbnails/1.jpg)
Yo SDK 3
Bindu Wavell @binduwavellZia Consulting, Inc
![Page 2: Yo SDK 3 · PDF fileyo alfresco:amp-add-common # add 3rd party AMPs like JS ... yo alfresco:model # scafold model in repo source ... WebScripts and custom content models)](https://reader033.vdocuments.mx/reader033/viewer/2022052607/5a70d9a87f8b9aa2538c6c8e/html5/thumbnails/2.jpg)
Learn. Connect. Collaborate.
TL;DR;
Command line tools for creating All-In-One SDK projects and for performing common tasks in these projects.
• Node, Yeoman, Generators; Alfresco SDK 2.x-3.0.1
![Page 3: Yo SDK 3 · PDF fileyo alfresco:amp-add-common # add 3rd party AMPs like JS ... yo alfresco:model # scafold model in repo source ... WebScripts and custom content models)](https://reader033.vdocuments.mx/reader033/viewer/2022052607/5a70d9a87f8b9aa2538c6c8e/html5/thumbnails/3.jpg)
# install node: >=4.5, <= 8
npm install -g yo generator-alfresco # install global packages
mkdir new_project_dir ; cd new_project_dir yo alfresco # create SDK 3 AIO project here yo alfresco:amp-add-common # add 3rd party AMPs like JS Console yo alfresco:module-add-source # source projects
yo alfresco --help # discover sub-generators
yo alfresco:action # scafold repo action in source project yo alfresco:behavior # scafold behavior in repo source project yo alfresco:model # scafold model in repo source project yo alfresco:webscript # scafold webscripts in repo source project
./run.sh # start it all up
![Page 4: Yo SDK 3 · PDF fileyo alfresco:amp-add-common # add 3rd party AMPs like JS ... yo alfresco:model # scafold model in repo source ... WebScripts and custom content models)](https://reader033.vdocuments.mx/reader033/viewer/2022052607/5a70d9a87f8b9aa2538c6c8e/html5/thumbnails/4.jpg)
Learn. Connect. Collaborate.
Agenda
• Justification• Progress• Demo• What’s next?
![Page 5: Yo SDK 3 · PDF fileyo alfresco:amp-add-common # add 3rd party AMPs like JS ... yo alfresco:model # scafold model in repo source ... WebScripts and custom content models)](https://reader033.vdocuments.mx/reader033/viewer/2022052607/5a70d9a87f8b9aa2538c6c8e/html5/thumbnails/5.jpg)
Learn. Connect. Collaborate.
On-boarding new Engineer
New engineer struggles to create basic customizations (like WebScripts and custom content models) because of obscure file locations, naming conventions for files and number of files that must be created/edited.
• Document what needs to be created...• ...or just create the stuff!
![Page 6: Yo SDK 3 · PDF fileyo alfresco:amp-add-common # add 3rd party AMPs like JS ... yo alfresco:model # scafold model in repo source ... WebScripts and custom content models)](https://reader033.vdocuments.mx/reader033/viewer/2022052607/5a70d9a87f8b9aa2538c6c8e/html5/thumbnails/6.jpg)
Learn. Connect. Collaborate.
Getting the right things done
Developer finds it difficult to find authoritative information about best practices for building customizations.
• Document best practices...• ...or just automate them!
• we are opinionated and open to better alternatives
![Page 7: Yo SDK 3 · PDF fileyo alfresco:amp-add-common # add 3rd party AMPs like JS ... yo alfresco:model # scafold model in repo source ... WebScripts and custom content models)](https://reader033.vdocuments.mx/reader033/viewer/2022052607/5a70d9a87f8b9aa2538c6c8e/html5/thumbnails/7.jpg)
Learn. Connect. Collaborate.
Customer engagement
Need to bring together a number of customizations (some bespoke and some common) for customer implementations.
• Support implementation projects• Provide consistency between projects
![Page 8: Yo SDK 3 · PDF fileyo alfresco:amp-add-common # add 3rd party AMPs like JS ... yo alfresco:model # scafold model in repo source ... WebScripts and custom content models)](https://reader033.vdocuments.mx/reader033/viewer/2022052607/5a70d9a87f8b9aa2538c6c8e/html5/thumbnails/8.jpg)
Learn. Connect. Collaborate.
Zia Alfresco Quickstart
Our proprietary (much improved) version of the 1.x SDK was not easy to support (small team) or maintain (SDK changed often in incompatible ways).
• Augment SDK rather than extending it• Open-source / community project
![Page 9: Yo SDK 3 · PDF fileyo alfresco:amp-add-common # add 3rd party AMPs like JS ... yo alfresco:model # scafold model in repo source ... WebScripts and custom content models)](https://reader033.vdocuments.mx/reader033/viewer/2022052607/5a70d9a87f8b9aa2538c6c8e/html5/thumbnails/9.jpg)
Learn. Connect. Collaborate.
Project quality is very important
Community matters!
Code of ConductContribution Guidelines
Issue and PR templates
Apache 2.0 LicenseGitter
618+ tests5 versions of
Node
Development, error reporting/
debugging, documentation, feature requests
It's an educated guess
Continuous Integration
~ 15 people participating
> 50 projectsmanaged?
![Page 10: Yo SDK 3 · PDF fileyo alfresco:amp-add-common # add 3rd party AMPs like JS ... yo alfresco:model # scafold model in repo source ... WebScripts and custom content models)](https://reader033.vdocuments.mx/reader033/viewer/2022052607/5a70d9a87f8b9aa2538c6c8e/html5/thumbnails/10.jpg)
Learn. Connect. Collaborate.
Justification In Summary
• Easy for beginners• e.g. integrated documentation (in
generators and generated files)• e.g. help with common tasks
(actions, behaviors, models,webscripts, adding modules)
• Powerful enough for experts• e.g. should be easy to automate
(CLI options)• e.g. expose as much as possible
(WebScripts, Models)
![Page 11: Yo SDK 3 · PDF fileyo alfresco:amp-add-common # add 3rd party AMPs like JS ... yo alfresco:model # scafold model in repo source ... WebScripts and custom content models)](https://reader033.vdocuments.mx/reader033/viewer/2022052607/5a70d9a87f8b9aa2538c6c8e/html5/thumbnails/11.jpg)
Learn. Connect. Collaborate.
Progress
• Common AMPs
• Alfresco OfficeServices
• Alfresco SupportTools (integrated into 5.2)
• Developer Helper• JavaScript
Console• JScript Extensions• JavaMelody
• Order of the Bee -Support Tools
• Records Management• Share Inbound Calendar
Invites• Share Site Announcements• Share Site Creators• Share Space Templates• Uploader Plus• Xenit Care4Alf• Xenit Dynamic Extensions
![Page 12: Yo SDK 3 · PDF fileyo alfresco:amp-add-common # add 3rd party AMPs like JS ... yo alfresco:model # scafold model in repo source ... WebScripts and custom content models)](https://reader033.vdocuments.mx/reader033/viewer/2022052607/5a70d9a87f8b9aa2538c6c8e/html5/thumbnails/12.jpg)
Learn. Connect. Collaborate.
Progress
• Common AMPs (cont)• Support Repo and/or Share components• SDK version and edition aware
• Support SDK 2.0 through 3.0.1
• Embedded archetypes• No network required for most generators• Much faster tests
![Page 13: Yo SDK 3 · PDF fileyo alfresco:amp-add-common # add 3rd party AMPs like JS ... yo alfresco:model # scafold model in repo source ... WebScripts and custom content models)](https://reader033.vdocuments.mx/reader033/viewer/2022052607/5a70d9a87f8b9aa2538c6c8e/html5/thumbnails/13.jpg)
Learn. Connect. Collaborate.
Progress
• Split out common code• Maven, Spring, Tomcat, Archetypes• Create your own yeoman generators• Improves test performance
• Remove node 0.10 and 0.12, add 7 & 8• Forced by our dependencies• Modernizing our JavaScript code
• Lots more tests and better Travis CIintegration
![Page 14: Yo SDK 3 · PDF fileyo alfresco:amp-add-common # add 3rd party AMPs like JS ... yo alfresco:model # scafold model in repo source ... WebScripts and custom content models)](https://reader033.vdocuments.mx/reader033/viewer/2022052607/5a70d9a87f8b9aa2538c6c8e/html5/thumbnails/14.jpg)
Demo
![Page 15: Yo SDK 3 · PDF fileyo alfresco:amp-add-common # add 3rd party AMPs like JS ... yo alfresco:model # scafold model in repo source ... WebScripts and custom content models)](https://reader033.vdocuments.mx/reader033/viewer/2022052607/5a70d9a87f8b9aa2538c6c8e/html5/thumbnails/15.jpg)
![Page 16: Yo SDK 3 · PDF fileyo alfresco:amp-add-common # add 3rd party AMPs like JS ... yo alfresco:model # scafold model in repo source ... WebScripts and custom content models)](https://reader033.vdocuments.mx/reader033/viewer/2022052607/5a70d9a87f8b9aa2538c6c8e/html5/thumbnails/16.jpg)
Learn. Connect. Collaborate.
What's next?
• More extension points• Bootstrap, Dashlet, JS Root Object,
Module Extension, DynamicExtensions, Jobs, Workflows, etc.
• Generate integration tests• Enhance existing extensions
• Integrate policy selection into behaviorgenerator
• Model generator to configure Share• More test coverage of existing code• More collaborators get more done and
respond to changes in the ecosystem faster
![Page 17: Yo SDK 3 · PDF fileyo alfresco:amp-add-common # add 3rd party AMPs like JS ... yo alfresco:model # scafold model in repo source ... WebScripts and custom content models)](https://reader033.vdocuments.mx/reader033/viewer/2022052607/5a70d9a87f8b9aa2538c6c8e/html5/thumbnails/17.jpg)
Learn. Connect. Collaborate.
What might be next?
• Annotation driven extensions?• Automate JRebel / hotswap-agent
integration?• Alfresco involvement?• Your involvement?
![Page 18: Yo SDK 3 · PDF fileyo alfresco:amp-add-common # add 3rd party AMPs like JS ... yo alfresco:model # scafold model in repo source ... WebScripts and custom content models)](https://reader033.vdocuments.mx/reader033/viewer/2022052607/5a70d9a87f8b9aa2538c6c8e/html5/thumbnails/18.jpg)
Thank you!
All your sys:base's are belong to us!