Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

As of now we are experiencing pdf content players player as part of the knowlg portal in web view , any users or adapters can experience same. but we don’t have mobile view to experience the samesunbirded mobile app , to make our building block independent and to test mobile specific features we need mobile build to test with minimal capabilities.

Problem Statement:

Currently knowlg block doesn't provide pdf player experience for the mobile device (Experiencing Pdf player in mobile device)how to verify resolution and alignments of content players in mobile devices.

Key design problems:

  • How to render launch the pdf content player in new ionic app

  • how to generate APK ?

  • How can we extend to add for another player

  • How to test with different sizes of contents

  • Where we need store this application code

  • How to handle portrait and landscape modepush content player changes to APK ?

  • How to play(online & offline) the content in mobile ?

  • how to pull the latest changes of the content(content versions)

  • How to verify the telemetry events

  • How to distribute APK to tester /adapters

Solution1:
Design:

...

Solution:

  • We are using the ionic framework to render the player and its link.

  • using ionic version of 6.1.9 and node js version is 14 onwards

  • We can have players like pdf ,video and epub and we can implement different components each.

  • In the players list component we can have the list of the players

  • In the content list component we can have hardcoded list contents as of now , based on player selected in player list component

  • We can have new version of apk to get latest changes.

  • The player component will load the player with selected content from the list.

  • The player component will be integrated with respected players and the pdf player will be integrated in the pdf player component and follow the steps.

  • We are handling landscape mode and portrait mode by using "cordova-plugin-screen-orientation", and @ionic-native/screen-orientation plug in.As of now we can have one individual repository to store code or we can get details of new repo and store code.We can have an apk link in the microsite so that it will be accessible to testers and adopters.

...

  • We are supporting only landscape mode , not supporting portrait mode

  • As of now we are rendering a contents list from hardcoded data.

Solution2:

design:

...

Solution:

  • We are using the ionic framework to render the player and its link.

  • using ionic version of 6.1.9 and node js version is 14 onwards

  • We can have one landing component , it has the explore button

  • After clicking on explore button , opening the knowledge portal application in mobile app using in app browser plug in provided by ionic framework.

Pros:

  • Its easy to implement

  • We can explore all the content players like pdf, epub and video

  • Faster the development process.

  • Any fixes or changes in portal will impact easily in mobile app.

Cons:

  • The knowledge portal is not responsive so it will impact the same here.

  • Knowledge portal also has the editors link so those we need handle in mobile view.

  • If portal application is down , then mobile app also will not work.

Solution3:

We can use existing sunbird mobile application as the one more approach

Pros:

  • Its easy to implement

  • We can easily change players version and test our changes

  • Faster the development process.

Cons:

  • have some predefined forms in mobile app and on boarding configuration, those forms configurations are not there in our building block.

  • if we want use existing mobile app as it is we need have/follow these installations steps.

  • If we use existing mobile app as it is, so any changes in configurations or api’s , will through error if we not onboard those new changes.

  • if we want use latest versions of the mobile app , then we to make related changes in that version in our building block(configuration , api’s).

  • If we don’t want some of other modules , then cleaning up of existing code is very difficult.

  • The app size will be more as we use existing mobile application because it has lot of modules.

Solution4:

  • We need to use existing knowlg portal application

  • In this application we need create 3 modules to it. and which are portal related one module, mobile related changes in one module , and the common changes are into common/shared module.

  • For portal related changes into portal module and along with shared module when we build portal related changes only comes.

  • Similarly , for mobile related changes into mobile module and along with shared module when we build mobile related changes only comes.

  • The shared module having changes which are shared between portal and mobile application.

  • References links https://devdactic.com/ionic-multi-app-shared-library/

design:

...