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 Operation | Handler | Routing |
SCC_GET_LOV_R_POST | REQUESTHDLR | SCC_GET_LOV_R_POST |
SCC_GET_USERPREF_R_GET | REQUESTHDLR | SCC_GET_USERPREF_R_GET |
SCC_SC_ADDITEM_R_POST | REQUESTHDLR | SCC_SC_ADDITEM_R_POST |
SCC_SC_CHECKOUT_R_POST | REQUESTHDLR | SCC_SC_CHECKOUT_R_POST |
SCC_SC_CLEARCART_R_POST | REQUESTHDLR | SCC_SC_CLEARCART_R_POST |
SCC_SC_GETCART_R_POST | REQUESTHDLR | SCC_SC_GETCART_R_POST |
SCC_SC_GETITEM_R_POST | REQUESTHDLR | SCC_SC_GETITEM_R_POST |
SCC_SC_REMOVEITEM_R_POST | REQUESTHDLR | SCC_SC_REMOVEITEM_R_POST |
SCC_SC_SAVECART_R_POST | REQUESTHDLR | SCC_SC_SAVECART_R_POST |
SCC_SC_VALIDATE_R_POST | REQUESTHDLR | SCC_SC_VALIDATE_R_POST |
SCC_SUBMIT_USERPREF_R_POST | REQUESTHDLR | SCC_SUBMIT_USERPREF_R_POST |
SCC_USERREG_AUTHORIZE_POST | REQUESTHDLR | SCC_USERREG_AUTHORIZE_POST |
SCC_USERREG_AUTH_GET | REQUESTHDLR | SCC_USERREG_AUTH_GET |
SSR_ADD_ENROLLMENT_R_POST | REQUESTHDLR | SSR_ADD_ENROLLMENT_R_POST |
SSR_DROP_ENROLLMENT_R_POST | REQUESTHDLR | SSR_DROP_ENROLLMENT_R_POST |
SSR_EDIT_ENROLLMENT_R_POST | REQUESTHDLR | SSR_EDIT_ENROLLMENT_R_POST |
SSR_ENR_VALIDATE_R_POST | REQUESTHDLR | SSR_ENR_VALIDATE_R_POST |
SSR_GET_CLASSES_R_POST | REQUESTHDLR | SSR_GET_CLASSES_R_POST |
SSR_GET_CLASS_SECTION_R_POST | REQUESTHDLR | SSR_GET_CLASS_SECTION_R_POST |
SSR_GET_COURSES_R_POST | REQUESTHDLR | SSR_GET_COURSES_R_POST |
SSR_GET_COURSE_OFFERING_R_POST | REQUESTHDLR | SSR_GET_COURSE_OFFERING_R_POST |
SSR_GET_ENROLLMENT_R_POST | REQUESTHDLR | SSR_GET_ENROLLMENT_R_POST |
SSR_STDNT_ENRL_OPTIONS_R_POST | REQUESTHDLR | SSR_STDNT_ENRL_OPTIONS_R_POST |
SSR_STUDYLIST_DEADLINES_R_POST | REQUESTHDLR | SSR_STUDYLIST_DEADLINES_R_POST |
SSR_SWAP_ENROLLMENT_R_POST | REQUESTHDLR | SSR_SWAP_ENROLLMENT_R_POST |
SCC_NTF_SMS_SRV | -- | SCC_NTF_SMS_SRV |
SSR_ENROLLMENT_SYNC | ONNOTIFY | -- |
SCC_USERREG_AUTHENTICATE | REQUESTHDLR | -- |
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:
Very Useful and detailed step by step guide for PS CS application on mobile.
ReplyDeleteduring login getting an error:
ReplyDelete"Invalid ACS Configuration User Object does not retrieved correctly due to configuration error. User may not resister to ACS. Contact Administrator"