Google Summer Of Code 2017 Ideas

#Ideas for the Google Summer Of Code 2017

This topic is a collection of project ideas for Google Summer Of Code, should we be accepted.

If you have any idea for a smaller/medium feature that would be “nice to have”, feel free to post it here. A reasonable explanation of the feature is minimum required. If you have a detailed plan/idea even better!

##Ideas from Christian Müller
###Welcome package

Flow has a welcome package that should brushed up in terms of style and functionality. It could include a UI based kickstarter for packages and models.

Expected results: Nicer Welcome package with better introduction, first-steps and maybe UI based kickstarter for packages and models.

Milestones: New Design, additional information for Flow newcomers, introduction, kickstart ui
Skill level: easy

###Google API package

Create a package for Flow to use common Google APIs in an easy way. Login, Maps, Analytics, PageSpeed, Documents, Mails are just some ideas

Expected results: One (or more if it makes sense) packages with easy connectors and PHP API to interact with Google

Milestones: APIs one by one as defined between student and mentor
Skill level: medium
Knowledge prerequisite: Google APIs

###Flow web compile runner

Flow creates proxy classes from the given PHP code to add enhanced functionality. This currently requires a PHP CLI binary. A web compiler would be neat as alternative for some server environments.

Expected results: Compilation of Flow proxy classes can be done via web without needing a PHP CLI binary. Additionally could split into multiple requests.

Milestones: reflection in web request, proxy building in web request, split steps

Skill level: hard

Knowledge prerequisite: PHP advanced, code generation

###Hosted Content Repository Connector

Hosted content repositories like “contentful” and “prismic.io” can be connected via API to Neos to use their content and maybe also enable changing the content from Neos. Some packages with examples for that exist already but nothing that could be used easily.

Expected results: Connector to one of the services using the API and exploration of changing content in Neos and writing it back.

Milestones: API Connector, Neos Integration, additional features for ease of use, write back feature.

Skill level: medium

Knowledge prerequisite: General idea about content repositories and REST APIs.

###Templating Kickstarter

The Neos kickstarter allows creation of an empty site package to start your own template. It should be extended to allow integration of well known templating systems like Bootstrap, Foundation, Material and similar. These templating systems should be available as packages that hook into Neos and have premade elements and code that will be used by the newly created site package (which then depends on the template system).

Expected results: Kickstarter is extended to allow selection of enabled template systems, at least one template system integrated, resulting site packages use templating system and offer a “ready to go” website based on it.

Skill level: easy

##Ideas from Tobias Gruber
###Neos.io Development

We use application components on neos.io to display show cases, team members or funding details. All of them could use improvements to increase the user experience. A new category “professional services” should also be implemented.

Expected results:

  • Improved filtering options for show cases
  • more details on the team members with the option for team members to edit their information
  • more filtering options for funding details and the addition of spending transactions to increase transparency
  • Implemented section for professional services that allows searching for professional Neos & Flow agencies including an administration plugin

Skill level: easy

1 Like

Media/Asset Management Improvements

The media management in Neos currently fills the basic needs, but is far from being a power tool. Improving the possibilities of working with (a lot of) assets, integration of external sources (like Flickr, Dropbox, …) better metadata handling – there are a lot of possibilities.

Expected results:

  • a plan for one ore more features
  • ideas for the implementation should be discussed
  • a working implementation should be delivered

Skill level: depends on how far you want to drive it. :slight_smile:

Setup improvements

The setup tool of Neos works, but has some drawbacks. It could be improved in a few areas:

  • make it possible to download/install site packages instead of shipping them with the base distribution
  • allow to remove the setup package after use or completely
  • make it possible to use the setup without mod_rewrite or equivalent tools

Skill level: medium

Reference documentation rendering

Parts of our documentation are generated from source, not only API documentation (for that good tools exist), but more specific references, as can be seen at https://neos.readthedocs.io/en/stable/References/index.html

Around that generation some areas that can be improved include:

  • generation of documentation for Fusion, something that currently is done manually
  • generation of documentation for our YAML-based configuration

Expected results:

  • new features for our DocTools package providing
  • rendered documentation in reStructuredText format that are
  • integrated with the existing documentation
3 Likes

I know that’s something that is seen controversial amongst team members but I think it could make it a lot easier to attract new users and developers if there would be some Themes/Templates “marketplace” or an option to distribute preconfigured site packages easier.
Is that something worth pursuing or do you guys think that’s just not the Neos-way?
I personally think it could attract new people e.g. if they only want to set up a blog or simple sites.

1 Like

Rewrite Flow Proxy Compiler on Roave BetterReflection

Flow creates proxy classes from the given PHP code to add enhanced functionality. This currently works based on the PHP language Reflection functionality, which has some drawbacks, most notably that classes need to be loaded for Reflection and hence the compilation step needs to happen in a separate process.

This could be improved by making use of https://github.com/Roave/BetterReflection

Expected results: Compilation of Flow proxy classes is achieved through the BetterReflection library, possibly without requiring a separate process for the step.

Milestones: Replace ReflectionService with a BetterReflection implementation, avoid running compile step in separate process

Skill level: hard

Knowledge prerequisite: PHP advanced, code generation, Reflection

Sorry I couldn’t promptly add React-related ideas last week, but there are plenty of things one could add to the new UI, independently from the main stabilisation work, e.g.:

  • Structured inline editing
  • Inline drag-n-drop support, pasting images from clipboard, other modern UX improvements that could go as an independent feature
  • Many more
2 Likes

Create Editor/IDE Plugins for Fusion/Fluid (and maybe other parts of the Framework)

There are a couple of editors people like to use to develop with Flow and Neos, like PHPStorm, Atom, SublimeText and a bunch of others. It would be nice to see plugins for those to help the workflow. Notably PHPStorm already has a plugin, so that might be a good reference for what such a plugin could do.

2 Likes

I like the Neos-Way to handle with content: Super easy and smooth.
But sometimes I think: Why daily work is such complicated and only to do with a lot of clicks, knowledge or ssh.

In comparison to other CMS, there would be one or two details that would make working with Neos considerably easier.
Maybe here is the wrong place for a wish-list. I don’t know the requirements for «Google Summer of Code». But in daily work there are some stumbles that make life difficult.

So what I miss or would like to have:

  • easier way to delete multiple media’s in Neos. (If medias are not on page 1, its huge time consumption to delete simple three medias) (medium): https://vimeo.com/205874827
  • possibility to create media-folder for grouping and simpler find (small) : https://www.youtube.com/watch?v=O4M4QAB2gR0
  • select multi images for deleting or move to other folder like in Wordpress (starts at 0:24) (small): https://www.youtube.com/watch?v=O4M4QAB2gR0
  • an good way to change, move or delete multiple subsites or document-nodes in one step with select multiple-parts like in Contao (large): https://vimeo.com/205872576
  • simple* Package installation with GUI like in Contao. Contao works also with composer and Packagist (big): https://www.youtube.com/watch?v=2iMuma-oYrc
  • user-friendly way with GUI to delete cache, rescan package and other admin daily-stuff (large): https://vimeo.com/205877489
  • more intuitiv and easier way to create and design forms (large)
  • per default behavior for 404-error in every installation at least in Demo.Site. With a clean and crisp base-site for 404.html and no «Page Not Found». No need for additional packages or routes.yaml fusion or other magic (small).
  • Versioning for more safety (huge), so mistakes of editors have no such extreme influence. 1 Klick and all is cured :heart_eyes:.
  • Less hardware consumption* (huge): Good and fast cache-solution without Varnish, build in search-solution like simple-search without need of Elastic-Search. So someday Neos will also fluffy on Shared-Hosting like typo3, Contao, Wordpress and all the others.

I guess new features are important as well. But also the current features offers many points for improvements. Those would give editors more potential benefits in daily work, reduces* contact anxiety for decision makers and would help Neos for wider distribution and success.

Unfortunately we weren’t selected for Google Summer Of Code this year, so let’s get our hands dirty and try to get these versions in ourselves.