Gutenberg-mobile: Integrate Gutenberg UI into the app editors

Created on 22 Oct 2018  路  7Comments  路  Source: wordpress-mobile/gutenberg-mobile

Once we bring Gutenberg in the apps with #163, we'll need to connect the UI pieces so that the editor:

  • Shows a top bar with the same options as Aztec (preview, document options)
  • Can load a post from the app
  • Can save changes and upload a post

Task list:

iOS

  • [x] Working setup of a Native Module for communication between RN and Native.
  • [x] Send initial html content (Native -> RN)
    ~- Close button (RN -> Native [?])~ (Handled in the Native side)
  • [x] Retrieve current content (Native -> RN -> Native) (Maybe not needed for Alpha)
  • [x] Save button implementation in WPiOS side.
  • [x] Create new (empty) post. 1d
  • [x] Implement content change detection, similar to Aztec
    More button options:
  • [x] Implement Save as draft 1d
  • [x] Implement Preview 1d
  • [x] Implement Post settings 1d
  • [x] Switch to html 1d
  • [x] Add History option(if it is not a big deal) 1d

Android

  • [x] Shows a top bar with the same options as Aztec (preview, document options) (3days including all project scaffolding)
  • [x] Can load a post from the app (1day)
  • [x] Can save changes and upload a post (3days)
  • [x] Implement content change detection, similar to Aztec (1day)
  • [x] Create new (empty) post (1d)
  • [x] Handle device rotation (2days)
  • [x] Fix reverting to a revision from History (if it is not a big deal) 1d
  • [x] Cleanup the GutenbergEditorFragment class (remove unused lines, unused menus) (1day)
App Integration

All 7 comments

We talked in slack already, but leaving a comment here for reference, @etoledom is looking at breakdown and estimates for this one

After playing around with this tasks, I believe that this is more about overall communication between RN and Native, namely Native Modules.

  • [ ] Working setup of a Native Module for communication between RN and Native.

It would be good to identify all the communication points needed to satisfy the Alpha milestone. So far I can think of the following:

  • [ ] Send initial html content (Native -> RN)
  • [ ] Save button (RN -> Native [?])
  • [ ] Close button (RN -> Native [?])
  • [ ] Retrieve current content (Native -> RN -> Native) (Maybe not needed for Alpha)

The list could grow (or shrink). Some of them are super simple (few hours or less) and others might take longer (few days). Many of them are already working on the example branch (iOS) but none is yet merged.

I'd also like to find a way to start merging step by step at some point, but for that we should coordinate with Android. Check if this solution works for both platforms and agree on a RN side interface (method names) and a common place to document them.
(Talking with @hypest , we decided to go faster and let one platform accommodate to the one that first implemented the solution)

Edited:
With some simplifications, and moving some subtasks to Beta, I believe we could work this out in one sprint time.

~Checklist with the Android side of the ticket:~

~- [x] Shows a top bar with the same options as Aztec (preview, document options)~
~- [x] Can load a post from the app~
~- [x] Can save changes and upload a post~
~- [ ] Cleanup the GutenbergEditorFragment class (remove unused lines, unused menus, handle device rotation)~

Stroke through these ^ since they will live in the ticket description directly as per https://github.com/wordpress-mobile/gutenberg-mobile/issues/182#issuecomment-436560490.

@hypest @etoledom I moved the checklists to the description, so the progress is visible on the issue:

screen shot 2018-11-07 at 10 27 45

Please make sure you update those as they get completed or change, and also can you add estimates per task so we can have an idea how much is done?

Noticed that we don't have "create new (empty) post" as a task in the list so, going to add it. cc @etoledom

Thank you!
Added estimation for create new (empty) post iOS side.

All subtasks completed, closing this. 馃帀

Was this page helpful?
0 / 5 - 0 ratings