Intro
On your marks, get set, hack! The first-ever Magnolia mini-hackathon, Dec 4th at 17:00.
Everyone with a "hack" idea makes a 2 minute pitch describing the project, the goal, and related technologies. Everyone then joins one of the projects to form teams of 2-6 people. You've got 3 hours to hack, eat pizza, and drink beverages. At 9pm, each team presents their results. The esteemed panel of judges chooses the winning project. There are prizes! Coaches from Magnolia will be on hand to help you with your projects.
What you need: A github account. A laptop. And either the Magnolia CLI or a Maven setup, ready to download Magnolia 6.
And bring your awesome idea for a hack. Or consider hacking on one of these proposed topics:
Schedule
Schedule | Do |
---|---|
17:15 | Kickoff: describes the theme, timeline & rules. |
17:30 | Pitches |
17:45 | Team forming |
18:00 | Hack |
19:00 | Pizza |
21:00 | Presentations |
21:30 | Go home or Hack on. |
Next Day at wrapup | Announce the winner - Give the prize. |
Proposed Topics - From Magnolia
Headless Magnolia
Use the new Content Types and Delivery Endpoints to allow Content authors to manage content for interesting frontends - like Vue, Arduino, Alexa, etc.
Find Bar
Hack on the new Find Bar to Implement custom operations like "Create Virtual URI" or "Create website", or add custom search results from an external content source.
or Connect the Find bar to external content sources, to have it return external content in search results.
Periscope docs (contains info about relevant APIs and examples): https://documentation.magnolia-cms.com/display/DOCS60/Periscope+module
Autotagging
Hook up the DAM or other Magnolia content apps to AI-driven content auto-tagging web services.
https://documentation.magnolia-cms.com/display/DOCS60/Image+recognition
https://documentation.magnolia-cms.com/display/DOCS60/Image+recognition+via+Amazon+Rekognition
POC:
Magnolia IDE
Implement Auto-suggest and Auto-complete in a code editor by way of a Magnolia REST endpoint which exposes the Magnolia Registered templates, dialogs, apps, etc.
A few possible editors:
Plugin Language | Getting started | |
---|---|---|
Atom | ECMAScript 6 (JavaScript) | https://blog.github.com/2016-08-19-building-your-first-atom-plugin/ |
VSCode | TypeScript or JavaScript | https://code.visualstudio.com/docs/extensions/example-hello-world |
Sublime 3 | Python | https://cnpagency.com/blog/creating-sublime-text-3-plugins-part-1/ |
Eclipse | Java | https://www.eclipse.org/articles/Article-Your%20First%20Plug-in/YourFirstPlugin.html |
IntelliJ | Java (using Gradle) | https://www.jetbrains.org/intellij/sdk/docs/basics/getting_started.html |
Resources
https://github.com/redhat-developer/yaml-language-server
Possible Approach for Eclipse
- Checkout the existing Eclipse plugin for Magnolia.
- Using this as a guide we extend the existing YAML editor.
- Create a YAML template editor with property suggest features.
- Try and use the Development Tools module to create intellisense for the dialog property.
Workshop
Dig into what you learned earlier in the days workshops.
Other topic Ideas
- Problems view
- A web page (or IDE panel) which shows the list of problems from the definitions app.
- XML config sources
- (just need to plug in parser logic and configure)
- Live Reload of Magnolia Admincentral
- Whenever I change a definition YAML file, the Admincentral instantly "reloads" to show the change.
Your Proposed Topics
Share your ideas here. Just edit this Wiki page.
(Topic name)
(Topic description)
(Your name)
App with Master/Detail View
(Topic description)
Vivian Steller
GraphQL
GraphQL in Magnolia
Vivian Steller
GUI for Content Types
Use React to build a simple GUI to create and edit Content Type YAML files.
- Christopher Zimmermann
IOC Info
App to list internals of running webapp.
Productivity tool.
- Sasha
Development setup
Download credentials
(At the hackathon you will receive necessary credentials for Enterprise version.)
Maven
For most ideas, we suggest you use a single-webapp setup based on Magnolia's default EE-pro-demo one. That is, copy this pom.xml and add custom dependencies as needed.
Also, make sure you have your maven configuration ready for pulling EE dependencies: https://documentation.magnolia-cms.com/display/DEV/Maven+setup
We've set up a temporary account with access to EE artifacts on nexus that will be deactivated after the conference.
CLI / Bundle download
Use the CLI to get Magnolia 6
mgnl jumpstart
And choose "magnolia-enterprise-pro-demo-webapp".
Use the CLI to start Magnolia
mgnl start
For instructions on installing the CLI, see:
https://documentation.magnolia-cms.com/display/DOCS60/Magnolia+CLI
License
You may use the following license:
Magnolia 6
Operational
Teams
- Each team create a wiki page under the public hackathon wiki page.
- Each team creates a github project for their code.
- Each team can create a room on our slack channel for their group. Chat on slack: "Mgnl Community".
We will fork the repos to our new community github account.
https://github.com/magnolia-community
Scoring
Score Card
Criteria | Weight | Score (1-5) | |
---|---|---|---|
Progress | How far did the team get? Is there something working at all? | 15 | |
Usefulness. | If completed, is this something people would actually use? | 5 | |
Interesting. | 5 | ||
Technical style points. | It can be hacky, but is it a cool hack? | 5 | |
Presentation. | Is it convincing? Can you understand the "problem" and the "solution"? | 5 |
Content to hack on
Movie database?
TV database?
Magnolia Tech Deck?
https://docs.google.com/spreadsheets/d/1wTlhTxIb3zn62vRerpXwSnOjCVrm1dMTDD3ovlvZyuY/edit#gid=0