openedx / openedx-app-ios

The mobile app for iOS for the Open EdX Platform.
Apache License 2.0
23 stars 16 forks source link

edX to Open edX App Data Migration Path #99

Open marcotuts opened 1 year ago

marcotuts commented 1 year ago

Goal: edX mobile team to get a working internal build of the new open edx mobile applications to confirm feature gap list scope, theming capabilities, data migration needs, and more.

Potential scope draft:

Outcomes:

.... Step 1 - Devop Alignment

### Tasks
- [ ] Delete old videos script
omerhabib26 commented 1 year ago

Hey @marcotuts , @volodymyr-chekyrta considering the current implementation for the Android app, applying branding to the existing code can be achieved using native approaches. Our app currently supports two themes: LightMode and DarkMode. To accommodate multiple branding options, we can create various themes within the app and configure the following properties to match the desired theme:

We have the flexibility to define as many themes as necessary and create a Dark Mode variant accordingly. However, it's important to note that modifying the designated folders for fonts and image resources is a relatively straightforward task. On the other hand, adjusting the color scheme requires a more extensive overhaul of the existing implementation. Currently, the color scheme is defined alongside fonts and shapes in a theme file. To make the rebranding process more manageable, we propose relocating the color definitions to a separate constant file and referencing them from there. Furthermore, there are multiple instances within the app where hard-coded values are used instead of the dynamic values provided by the theme. This could pose challenges during the rebranding process. In addition to these changes, we should establish a structured approach for dimension values. Currently, there's no standardized practice for utilizing dynamic values. Each view depends on hard-coded dimension values, primarily for padding, margins, buttons, layout/view creation, and shapes like rounded corners, among others.

To provide a clear visual representation of the app after the rebranding process, we have updated the color scheme, fonts, and image resources following the approach mentioned above.

Current Open edX App Rebranding -> Color, fonts & Images
moiz994 commented 1 year ago

Pasting iOS team's findings here as well.

Multiple colors and images

App main colors and images are being used from the assets of the Core framework. At the moment, it will be a bit hard for someone to directly replace the colors of the app in the assets because maintaining the change set will require extra effort as it contains data for other images and icons. And some colors, like white, are hardcoded in the codebase.

Some images have a tinted color as well, like, for example, blue for the back arrow that is being used in the navbar. It will make changing a theme a bit harder and will require icon/image changes as well.

Recommendation: It would be nice if another assets folder named Configurable Assets would be created in the Core framework, which would contain only the configurable items like colors, logos, auth colors, etc. All the colors should be used through the assets and theme classes.

The images that are being used in the navbar or bottom bar shouldn’t have any tinted color and the main theme color should be applied while using the icon so it matches the main theme color.

Fonts

Although fonts are being used through the theme class, and the parsing of fonts is also being done in the theme class. A code-level change (theme class parsing update) will be required to use different fonts.

Recommendation: The basic part of the fonts parsing can be moved to a separate key-value based file, like in a JSON file, where the names of the fonts can be changed as per the font file, like "regular":"Inter-Regular". It will make the fonts changes easy and the code level changes free.

Icons and splash screen

The asset folder of the target OpenedX can be replaced with a new one to change the icons and splash screen.

Recommendation: There isn’t any change to make here; the existing architecture is configurable.

moiz994 commented 1 year ago

Update: Axinite will work to incorporate the recommendations in the app. Tickets for this work to be created soon.

FYI: @touchapp @marcotuts @volodymyr-chekyrta @miankhalid please review the findings and share feedback. We can also discuss this in our Technical Check-in call on Monday.

marcotuts commented 11 months ago

At this point it seems some tickets / improvements are coming in relating to this work - Is there an edx app build that could eventually be shared out with some of the wg-mobile team members once it exists? It would be helpful to be able to see a built via testflight or whenever ready as a contrast with the existing open edx app to do a live comparison in the themes but also to compare against the edX app (once ready - don't know how close we are to this - @moiz994

moiz994 commented 11 months ago

@marcotuts currently, we're just implementing the ability to update the theme of the app easily. We will work on the edX them of the app a little later in time but be happy to share that once it is ready.

marcotuts commented 10 months ago

Any update here on how close we think we are on this data migration / theme push?

moiz994 commented 10 months ago

@miankhalid & @touchapp can share more details on the data migration. As for the theme, I believe we've merged theming capabilities work.

marcotuts commented 9 months ago

This may be close to ready to mark complete? The testflight build and theme customization seem done but will keep this epic open until we have confirmed this is ok to close.

moiz994 commented 9 months ago

@marcotuts yes, theme is almost done. It's finalized on iOS but now Android team needs to implement what was finalized on iOS.

Also, I still don't know what is the way forward in terms of the data migration. @miankhalid @touchapp need your help and updates on this.

hassan6190 commented 8 months ago

@miankhalid @moiz994 @marcotuts Following are my findings on the data migration from edX to open edX

Android:

iOS:

Note: I have also created the issue for this which is mentioned above

marcotuts commented 7 months ago

With the findings above, are we ok to close this epic out @miankhalid / @moiz994 ? Or keep open a bit longer until the findings are explored / reviewed?