Friday, October 18, 2013

PeopleSoft Campus Self Service Mobile




Oracle extends it’s PeopleSoft Mobile Applications fleet yet one more time with Campus Self Service Mobile. What differs Campus Mobile from the mobile applications until now, is the that this it is not a mobile (web) application, but a true native mobile app, built using Oracle ADF Mobile.

Although the first version of Campus Mobile became available on May 13th, I didn't come across it until recently. This has mostly to do with the fact that I do not work on Campus Solutions. So why should I dedicate a blog on it subject?

There are a few reasons why I am very interested in this solution from a technical point of view. First of all I was extremely excited when Oracle announced ADF Mobile. Leveraging the power and visualizations of ADF, having one code base for iOS and Android, the simplicity of using MVC, having a tool set to create a native app, that can utilize the Device Native Services of your mobile device like phone, GPS, camera, contacts, etc, but most of all it is an Oracle Technology.

What do you need to do to get up and running?

As always new features on PeopleSoft are delivered using patches. For version 1 of Campus Mobile you need to running on Campus Bundle 29 (Update 16230048). For version 2 of Campus Mobile you need to running on Campus Bundle 30 (Update ID 16716829). For both versions your environment needs to be running on at least PeopleTools 8.52. After patching your environment, you will need to take some manual configuration actions in PeopleSoft.

PeopleSoft Configuration

Campus mobile uses REST services provided by PeopleSoft. The services are deactivated by default and need to be activated manually. Activate the Service Operations, Handlers and Routings for all listed in below table.

Service OperationHandlerRouting
SCC_GET_LOV_R_POSTREQUESTHDLRSCC_GET_LOV_R_POST
SCC_GET_USERPREF_R_GETREQUESTHDLRSCC_GET_USERPREF_R_GET
SCC_SC_ADDITEM_R_POSTREQUESTHDLRSCC_SC_ADDITEM_R_POST
SCC_SC_CHECKOUT_R_POSTREQUESTHDLRSCC_SC_CHECKOUT_R_POST
SCC_SC_CLEARCART_R_POSTREQUESTHDLRSCC_SC_CLEARCART_R_POST
SCC_SC_GETCART_R_POSTREQUESTHDLRSCC_SC_GETCART_R_POST
SCC_SC_GETITEM_R_POSTREQUESTHDLRSCC_SC_GETITEM_R_POST
SCC_SC_REMOVEITEM_R_POSTREQUESTHDLRSCC_SC_REMOVEITEM_R_POST
SCC_SC_SAVECART_R_POSTREQUESTHDLRSCC_SC_SAVECART_R_POST
SCC_SC_VALIDATE_R_POSTREQUESTHDLRSCC_SC_VALIDATE_R_POST
SCC_SUBMIT_USERPREF_R_POSTREQUESTHDLRSCC_SUBMIT_USERPREF_R_POST
SCC_USERREG_AUTHORIZE_POSTREQUESTHDLRSCC_USERREG_AUTHORIZE_POST
SCC_USERREG_AUTH_GETREQUESTHDLRSCC_USERREG_AUTH_GET
SSR_ADD_ENROLLMENT_R_POSTREQUESTHDLRSSR_ADD_ENROLLMENT_R_POST
SSR_DROP_ENROLLMENT_R_POSTREQUESTHDLRSSR_DROP_ENROLLMENT_R_POST
SSR_EDIT_ENROLLMENT_R_POSTREQUESTHDLRSSR_EDIT_ENROLLMENT_R_POST
SSR_ENR_VALIDATE_R_POSTREQUESTHDLRSSR_ENR_VALIDATE_R_POST
SSR_GET_CLASSES_R_POSTREQUESTHDLRSSR_GET_CLASSES_R_POST
SSR_GET_CLASS_SECTION_R_POSTREQUESTHDLRSSR_GET_CLASS_SECTION_R_POST
SSR_GET_COURSES_R_POSTREQUESTHDLRSSR_GET_COURSES_R_POST
SSR_GET_COURSE_OFFERING_R_POSTREQUESTHDLRSSR_GET_COURSE_OFFERING_R_POST
SSR_GET_ENROLLMENT_R_POSTREQUESTHDLRSSR_GET_ENROLLMENT_R_POST
SSR_STDNT_ENRL_OPTIONS_R_POSTREQUESTHDLRSSR_STDNT_ENRL_OPTIONS_R_POST
SSR_STUDYLIST_DEADLINES_R_POSTREQUESTHDLRSSR_STUDYLIST_DEADLINES_R_POST
SSR_SWAP_ENROLLMENT_R_POSTREQUESTHDLRSSR_SWAP_ENROLLMENT_R_POST
SCC_NTF_SMS_SRV--SCC_NTF_SMS_SRV
SSR_ENROLLMENT_SYNCONNOTIFY--
SCC_USERREG_AUTHENTICATEREQUESTHDLR--

The app will also check for the existence of the permission list HCCPCSSA3000 for the user that tries to log on. This permission list is already assigned to a new role CS Mobile Student. Provide the role to students that will use Campus Mobile or add the permission list to an existing role that is already assigned to a group of users. The Campus Mobile users will need to have access to the services listed above. You can use permission list HCCPCSSA3000 again to provide access to these services.

Connectivity

Most of you will have PeopleSoft running on the corporate network making it accessible to workstations that also reside on the corporate network. With mobile solutions this bring up a challenge and choices to be made. How to implement the connectivity from the mobile to PeopleSoft? How about security? How about availability? These are all questions that are not part of the solution, but are up to you and your corporate policies to decide how to implement this. Most common solutions to this challenge:

  • Create a new PIA for mobile on a server that is accessible from the internet

  • Enforce VPN connectivity from the mobile to the corporate network

  • Connectivity only available when mobile device is connected to the corporate WiFi network

  • ... probably a lot more options

In my case I have Campus Solutions running on a virtual machine. The virtual machine is configured with a Bridged network adapter, providing the virtual machine an IP address that is part of my home WiFi network. I configured the virtual machine to have fixed IP address on the network and made sure the PIA port is assigned to this IP address. My hosts file on the virtual machine has the following entry:

192.168.0.52  cam90.ps.com #Wifi

This way I can still start Campus Solutions with an authentication domain over http://cam90.ps.com/ps/signon.html and Campus Mobile will access the endpoint of the services via http://192.168.0.52/PSIGW/RESTListeningConnector.



JDeveloper Environment

In order to deploy Campus Mobile you will need to setup a JDeveloper 11.1.2.4.0 environment with ADF Mobile extension. Click on the image below to access a step by step tutorial on how to setup JDeveloper with an ADF Mobile extension and how to acquire and setup Android SDK or XCode and how to setup an Android emulator or iPhone simulator.



Download Campus Mobile Application Archive File

Now that we have PeopleSoft and JDeveloper configured, we can start downloading the source project of Campus Mobile. Click on the image below to access the file.



Configure & Deploy App

Once you have started JDeveloper, select New Application > Mobile Application from Archive File and select the .maa file you downloaded. Open file Application Resources > Descriptors > ADF META-INF > connections.xml and change every instance of "hostname" to the PeopleSoft webserver. In my case 192.168.0.52, in your real live case this would the FQDM.




Now from the menubar select Application > Deploy > [Profile your created].



Here you a a few options. The first time you deploy the app it could be useful to deploy it to the emulator, so you can run your first unit tests.




From this emulator you can test all functionality, as long as the machine you are running this on, has access to PeopleSoft. When you deploy the app, you can find the .apk file in the deploy folder of the project. You can now use this .apk file to upload and install to a actual mobile device or publish in Google Play. Same procedure applies to iOS.

Extend & Customize

As everything with PeopleSoft, we need to have full control of what we are running and we need the ability to change what is delivered OOTB. So I was not surprised that the documentation contains several chapters on how to tailor this app to your needs.

You can find this documentation on Oracle Support: Campus Mobile documentation (Doc ID 1548793.1)

But what does it do?

Campus Mobile allows students to access:

  • Enroll, add, and drop classes

  • View classes, map locations

  • Receive notifications and take action

  • Monitor academic progress

Some screenshots










If you are wondering why I do not post screenshots from my mobile device? #crackedscreen



More info?

Start off by following the webcast PeopleSoft Campus Solutions Goes Mobile.




Campus Mobile Proactive Information, Frequently Asked Questions and Known Issues (Doc ID 1557671.1) for a list of all relevant documentation.

PeopleSoft Enterprise Advisor Webcast Schedule and Archived Recordings (Doc ID 1456265.1) and look for the following webcast:

campusmobilewebcast

2 comments:

  1. Salman12:06 PM

    Very Useful and detailed step by step guide for PS CS application on mobile.

    ReplyDelete
  2. Durgesh Shukla12:32 PM

    during login getting an error:
    "Invalid ACS Configuration User Object does not retrieved correctly due to configuration error. User may not resister to ACS. Contact Administrator"

    ReplyDelete