First task: Familiarize yourself with the Pastanaga Editor proposal
LEVEL: mid/hard (student should have good JavaScript / ReactJS skills)
Implement create-react app like functionality
create-react-app (https://github.com/facebookincubator/create-react-app) from Facebook allows to create a React app quickly without the need to get a deep understanding of more complex parts (e.g. Webpack). It also allows to “eject” the project at some point to customize the more complex parts if necessary. It would be great if we could build something similar for plone-react.
@thet good idea! That's something we also discussed. Our plan is to develop all components in plone-react and then find a way to make them re-usable in Plone itself. Bottom line is that developing React components in Plone itself kind of sucks because you are missing all the bells and whistles (Hot Module Reloading, Webpack, etc.) of modern JS development.
For collective.solr we tried to develop the React-based search view in c.solr itself and that did not really work out well.
Therefore I'd suggest that implementing the recurrence widget should have two parts:
I've been picking up React and working on it after checking out the idea for implementing 'Big Green Button' with GatsbyJS. This idea also seems pretty interesting to work on! I'd love to get started in checking out and contributing.
Hey! For the implementing Pastanaga Editor idea, what repos should I focus on other than plone-react ? Where can I find documentation and code for getting to know what Pastanaga is and how it works?
Plone as a Progressive Web App
==============================
(HTML, CSS, JavaScript, ReactJS)
Summary
-------
Progressive Web App (PWA) are web applications that are regular web pages or websites, but can appear to the user like traditional applications or native mobile applications.
We would like to enhance plone-react with Progressive Web App features.
plone-react is a ReactJS-based front-end for Plone that works with plone.restapi.
Implementation
--------------
The objective is to enhance plone-react (https://github.com/plone/plone-react) with PWA features, such as:
- Manifest (add to home screen, splash screen layout, etc.)
- Service Workers (for faster loading, caching, offline functionality)
- Application Shell Architecture (app-like loading times)
Lighthouse (https://developers.google.com/web/tools/lighthouse/) should be used to test compliance with basic PWA features.
There was a very successful GSoC project last year to build a PWA on top of plone.restapi and Angular SDK (https://github.com/collective/collective.experimental_angular_pwa) which can act as an example.
Skills
------
JavaScript, HTML and CSS development knowledge is mandatory. Knowledge of ReactJS is recommended.
Mentors
-------
Timo Stollenwerk, Rob Gietema, Victor Fernande de Alba
Aims
----
A pull request for plone-react, and idealy a new plone-react release that includes the PWA features.
After trying to install plone-react on my system multiple times i realised that its really big and takes up a lot of space (around 2GB) with node modules, a lot of which aren't even needed. Shouldn't we do something about this?
The size of the node_modules directory is not important. Though, 2 GB sounds too much. What is important is the size of the production bundle, because it has implications for the loading and JS execution time.
We are currently using plone-react in production in a project and we are monitoring the bundle size and loading times on a continuous basis.Therefore I don't think there is much we need to do right now.
After repeated tries, multiple fixes attempted as per our discussion in the github issue tracker for plone-react I can't seem to get it up and running. @tulikavijay is also facing similar issues in getting it setup locally.
With the discussion in github, I was able to get over the yarn install errors, and then errors during installation of backend. But when running yarn dev I still seem to getting this message on my browser's localhost:
Something went wrong: Invalid token specified: Cannot read property 'replace' of undefined
I am afraid plone-react is currently not in a working state. We forked the repo three months ago and the entire plone-react team is currently working on that private fork. We plan to do a sprint next month to merge our work upstream to be ready for the GSoC.
Sorry for jumping into this thread but I am currently experimenting a lot on the frontend side (although I deny being a frontend guy).
How approachable is React in this context for n00bs, for average developers without special React skills (let's say persons with an average HTML, Javascript, jQuery background)? How steep is the learning curve?
Only speaking for myself, I found frameworks like React and Angular too verbose, too complex and unapproachable. Compared to that I have made friendship with VueJS which is easy approachable, easy to understand and does not introduce and extra complexity. My fear is that React related functionality can only be implemented by skilled developers, adding another gap between the "average" integrator or company internal developer and the Plone eco-system.