Upload
masood99s
View
50
Download
3
Embed Size (px)
DESCRIPTION
CAMPUS
Citation preview
CAMPUSMOBILEIMPLEMENTATIONGUIDE
TableofContents
1. Background......................................................................................................................................................................................4
1.1 Introduction...........................................................................................................................................................................4
1.2 OverviewofCampusMobile............................................................................................................................................4
1.3 OverviewofADFMobile....................................................................................................................................................5
2. CampusSolutions..........................................................................................................................................................................9
2.1 CampusSolutionsConfiguration...................................................................................................................................9
2.2 IntegrationBrokerConfiguration.................................................................................................................................9
2.3 SecurityConfiguration.......................................................................................................................................................9
2.3.1 AuthenticationService.............................................................................................................................................9
2.3.2 AuthorizationService.............................................................................................................................................10
2.4 AbouttheEntityRegistry...............................................................................................................................................10
2.4.1 EntityProfiles............................................................................................................................................................10
2.5 ConfiguringNotifications................................................................................................................................................10
2.5.1 Framework..................................................................................................................................................................10
2.5.2 Consumers...................................................................................................................................................................11
2.5.3 Templates....................................................................................................................................................................11
2.5.4 Preferences.................................................................................................................................................................13
2.6 MessageCatalogConsiderations..................................................................................................................................13
3. CampusMobile.............................................................................................................................................................................14
3.1 Overview................................................................................................................................................................................14
3.2 UsingJDeveloper................................................................................................................................................................14
3.2.1 InstallingandSettingupJDeveloper................................................................................................................14
3.2.2 CreatingaNewMobileApplicationFromtheDeliveredMobileApplicationArchiveFile........15
3.3 ConfiguringYourMobileApplication........................................................................................................................15
3.3.1 WebServices..............................................................................................................................................................15
3.3.2 Security.........................................................................................................................................................................16
3.4 BrandingYourMobileApplication.............................................................................................................................17
3.4.1 ChangingtheApplicationID................................................................................................................................17
3.4.2 ChangingtheApplicationName.........................................................................................................................18
3.4.3 ChangingtheApplicationIcon............................................................................................................................18
3.4.4 InsertingYourLogo.................................................................................................................................................18
3.4.5 InsertingYourColorScheme...............................................................................................................................19
3.4.6 InsertingYourAppInfo.........................................................................................................................................20
3.4.7 MaintainingTheAppVersion..............................................................................................................................20
3.5 CustomizingYourMobileApplication.......................................................................................................................20
3.5.1 CustomizingtheLoginPage.................................................................................................................................20
3.5.2 CustomizingtheSpringboardandNavigationBar.....................................................................................20
3.5.3 CustomizingtheAppFeatures............................................................................................................................21
3.5.4 MapsIntegration.......................................................................................................................................................21
3.5.5 Icons,Labels,ResourceBundlesandLocalization......................................................................................22
3.5.6 CustomizingtheGenericErrorMessage.........................................................................................................22
3.5.7 CustomizingPagesWithintheApp...................................................................................................................23
3.6 ExtendingYourMobileApplication............................................................................................................................23
3.6.1 ProvidingAdditionalMapFunctionality.........................................................................................................23
3.6.2 ChangingtheDisplayedData...............................................................................................................................23
3.6.3 ProvidingAdditionalfeatures.............................................................................................................................24
3.7 ManagingYourMobileApplication............................................................................................................................24
3.7.1 DevelopingYourMobileApplication................................................................................................................24
3.7.2 DeployingYourMobileApplication..................................................................................................................25
3.7.3 TestingandDebuggingYourMobileApplication........................................................................................25
3.7.4 DistributingYourMobileApplication..............................................................................................................26
3.7.5 SupportingYourMobileApplication................................................................................................................26
Figure11ADFMobileRuntimeArchitecture.............................................................................................................................6Figure21ApplicationNavigator...................................................................................................................................................15
OracleCorporationConfidentialForOracleinternaluseonly Page4
1. BACKGROUND1.1 INTRODUCTIONCampusMobileisanewstudentselfserviceinterfacedesignedforsmartphonedevices.ItisdeliveredaspartofCampusSolutionsSelfServiceandisdeployedasaniOSorAndroidapplication.Theapplicationenablesstudentstohaveconstantaccesstohighvaluetransactions.
Thisdocumentprovidesimplementerswiththeinformationrequiredto:
ConfigureyourexistingCampusSolutionsenvironment(s)tofacilitatemobileaccess.Refertochapter2.
Configure,brand,customizeandextendthedeliveredCampusMobileapplicationarchiveinordertocreateanddistributeamobileapplicationthatistailoredtotheneedsofyourstudentsandorganization.Refertochapter3.
Readersshouldprogressthroughthisdocumentinthechapterorder,sincelaterchaptersrequireknowledgeofinformationdescribedinearlierchapters.
Multiplepiecesofdocumentationhavebeendevelopedorupdatedtoassistintheimplementationeffort.SeeCampusMobileDocumentation,onMyOracleSupportSeeWorkingWiththeNotificationsFramework,partofCS_Bundle_29_Campus_Community_9_0.pdfonMyOracleSupportSeePeopleSoftCampusCommunityFundamentals9.0PeopleBook,SettingUpEntityRegistry
1.2 OVERVIEWOFCAMPUSMOBILECampusMobileisbuiltusingOraclesADFMobileframework,whichenablesdeploymenttobothiOSandAndroidasanativeapplication.
Theapplicationfeatureshighvaluetransactionstowhichstudentsdesiretohaveconstant,alwaysavailableaccess.FeaturesofCampusMobileincludetheabilityto:viewclassschedule,viewgrades,viewscheduleofclasses,enrollinclasses,andmanagetheenrollmentshoppingcart.
TheCampusMobilesmartphoneapplicationisasecure,simplified,andpersonalizedplatformforstudentstoconductkeyStudentRecordsprocesses.Youcanconfigure,brand,customizeandextendtheCampusmobileapplicationtosuityourrequirements.
CampusMobileusesthedeliveredCampusSolutionsEnrollmentWebServices(EWS)toproviderealtimereadandwriteaccesstodatawithinCampusSolutions.ForCampusMobile,aRESTfulversionoftheEWSisdeployed,leveragingPeopleTools8.52functionality.RESTfulwebservicesrequireloweroverheadthanSOAPbasedservices,thusloweringthebandwidthrequirementfordeliveringdatatoamobiledevice.Tooptimizethewebserviceperformance,CampusMobiletakes
OracleCorporationConfidentialForOracleinternaluseonly Page5
advantageoftheEntityProfilingfeaturenewtoCampusSolutions.EntityProfilegivesustheabilitytocreateanduseamobileprofilethatlimitstheamountofdatadeliveredintheEWSpayloadtothesubsetofdatathatCampusMobileneeds;furtherloweringthebandwidthrequirementfordeliveringdatatoamobiledevice.
InparalleltoCampusMobile,thenewCampusSolutionsNotificationFrameworkprovidesproactivecommunicationtostudentsandenhancesthestudentmobileexperience.CampusMobileenablesstudentstomanagehowtheyreceivenotifications.
Note:CertainnotificationsaredescribedinCampusMobiledocumentation,butCampusMobileisnotaprerequisitetotheimplementationofthesenotifications.ThesenotificationsenhancethemobileexperienceforstudentsandprovideproactiveinformationfromCampusSolutionsandthustheyhavebeendevelopedparalleltoCampusMobile.
1.3 OVERVIEWOFADFMOBILETheOracleApplicationDevelopmentFramework(OracleADF)isanendtoendJavaenterpriseframeworkthatsimplifiesapplicationdevelopmentbyprovidingoutoftheboxinfrastructureservicesandavisualanddeclarativedevelopmentexperience.
ADFMobileextendsOracleADF,enablingyoutocreateanapplicationthatcanhousedifferenttypesofcontentandrunsonmobiledevicespoweredbytheiOSandAndroidplatforms.Withintheapplication,thecontainedfunctionalareasarereferredtoas applicationfeatures andrepresentoneormorespecificpiecesoftheapplication'sfunctionality.
AnextensionofApacheCordova(see http://cordova.apache.org),theADFMobilearchitectureenablesHTML5,aswellasADFdefinedpagesandtaskflowstoberenderedinthesamedownloadableapplication.
ADFMobileconsistsofthefollowingparts:
Model providedbyOracleADF. View expressedasHTMLorXML. Controller definedwithXML. Java runtime poweredbyanembeddedJavaVMbundledwitheachapplication.
Figure11showstheoverallruntimearchitectureofADFMobile.
OracleCorporationConfidentialForOracleinternaluseonly Page6
Figure11ADFMobileRuntimeArchitecture
ThefollowingelementscomprisetheADFMobileruntimearchitecture:
Device-Native Container representsanapplicationcontainer,ortemplate,compiledasadevicenativeapplicationbinary.ThiscontainerprovidestheruntimeenvironmentforanADFMobileapplicationtorunasanondevice,nativeapplicationinthemobiledevice'soperatingsystem(iOSorAndroid).BesideshostingtheclientsidecomponentsforanADFMobileapplication,itprovidesnavigationutilities,suchasaspringboardandnavigationbar,whichenableaccesstoparticularapplicationfeatures.
Web View isapartoftheDeviceNativeContainerthatusesamobiledevice'swebenginetodisplayandprocesswebbasedcontent.InanADFMobileapplication,thewebviewistheprimarymechanismtorenderanddelivertheapplicationuserinterface.
Server HTML representsawebbaseduserinterfacethatisgeneratedontheserveranddeliveredasawebpagetotheADFMobileapplication.TheapplicationHTMLcode,businesslogic,andpageflowlogicaregeneratedonaremoteserver.ServerHTMLcanaccessdevicenativeservices,suchasthecamera,throughtheJavaScriptAPIsupportedbyCordova,aslongasitisrunninginsideanADFMobileapplication.
OracleCorporationConfidentialForOracleinternaluseonly Page7
Note: Campus Mobile does not make use of Server HTML. All application code is contained within the mobile application.
Local HTML representswebpagesdevelopedusingJDeveloperorthirdpartytoolsthataredirectlyembeddedwithinanADFMobileapplication.ThesepagesaredeliveredasapartoftheADFMobileapplication.LocalHTMLfilescanaccessdevicenativefeaturesthroughtheJavaScriptAPIssupportedbyCordova.
ADF Mobile AMX Views arebasedontheADFMobileAMXtechnologythatdeliversaJSFlikedevelopmentexperiencetoworkingwithanHTML5baseduserinterface.ADFMobileAMXviewsaredefinedusingUIandcodeeditorsprovidedbyJDeveloper.TheseviewsareembeddedintoanADFMobileapplicationanddeployedtoamobiledevice.Atruntime,theJavaScriptengineinthewebviewrendersADFMobileAMXviewdefinitionsintoHTML5components.OftheimplementationapproachesprovidedbyADFMobile,applicationfeaturesdevelopedusingtheADFMobileAMXcomponentsprovidethemostauthenticdevicenativeuserexperiencethroughtheirextensivesupportofanimationandgestures.
ADF Controller isrepresentedbyamobileversionoftheOracleADFcontrollerthatsupportsasubsetofOracleADFtaskflowcomponentsavailabletoaserverbasedOracleADFapplication.BothboundedandunboundedOracleADFtaskflowsaresupported,aswellasasubsetofeventsandscopesthataresupportedbytheserverbasedADF.
Java providesaJavaruntimeenvironmentforanADFMobileapplication.ThisJavaVirtualMachine(JVM)isimplementedindevicenativecode,andisembedded(orcompiled)intoeachinstanceoftheADFMobileapplicationaspartofthenativeapplicationbinary.TheJVMisbasedontheJavaMEConnectedDeviceConfiguration(CDC)specification.
Managed Beans areJavaclassesthatcanbecreatedtoextendthecapabilitiesofADFMobile,suchasprovidingadditionalbusinesslogicforprocessingdatareturnedfromtheserver.ManagedbeansareexecutedbytheembeddedJavasupport,andthereforemustconformtotheJavaMECDCspecifications.
ADF Model inanADFMobileapplicationsupportsasubsetofbusinesslogiccomponentsavailabletoaserverbasedOracleADFapplication.ADFmodelcontainsthebindinglayerthatconnectsthebusinesslogiccomponentswiththeuserinterface.Inaddition,thebindinglayerprovidestheexecutionlogictoinvokeRESTorSOAPbasedwebservices.
Application Configuration referstoservicesthatallowkeyapplicationconfigurationstobedownloadedandrefreshed.Forexample,URLendpointsforawebserviceorremoteURLconnection.ApplicationconfigurationservicesdownloadtheconfigurationinformationfromaWebDavbasedserversideservice.
Note: Campus Mobile does not make use of a remote Application Configuration. Configuration files are contained within the mobile application.
OracleCorporationConfidentialForOracleinternaluseonly Page8
Credential Management and Access Control referstoclientsideservicesthatprovidesecurityrelatedservicesforanADFMobileapplication.Forexample,alocalcredentialstorethatsecurelycachesusercredentialstosupportanofflineauthenticationoraccesscontrolservicesthatdisplayorhideapplicationfeaturesbasedonuseraccessprivileges.
Apache Cordova (formerlyknownasPhoneGap)isanopensourcecodelibrarythatprovidesacommonJavaScriptAPItoaccessvariousmobiledeviceservices,suchasthecamera.CordovaprovidesamajorityofthedeviceservicesintegrationforanADFMobileapplication.CordovaJavaScriptAPIsarefurtherabstractedasdevicedatacontrolsintheJDeveloperdesigntimeforADFMobileAMXbasedviews,allowingforintegrationofdeviceservicesbydragginganddroppingdatacontrolstotheirADFMobileAMXviews.
Local Data referstodatastoresthatresideonthedevice.InADFMobile,theseareimplementedasencryptedSQLitedatabases.CreateRetrieveUpdateDelete(CRUD)operationsaresupportedtothislocaldatastorethroughtheJavalayer,usingJDBCbasedAPIs.
Note: Campus Mobile does not make use of local data storage.
Ontheserverside,the Configuration Server referstoaWebDavbasedserverthathostsconfigurationfilesusedbytheapplicationconfigurationservices.Theconfigurationserverisdeliveredasareferenceimplementation.AnycommonWebDavserviceshostedonacommonJ2EEservercanbeusedforthispurpose.
Note: Campus Mobile does not make use of a Configuration Server. Configuration files are contained within the mobile application.
Ontheserverside,ADF Mobile Browser andADF Faces Rich Client refertoframeworksfordevelopingserversideapplicationsthatcanbeusedforimplementationoftheremoteURLADFMobileapplicationfeature.
Note: Campus Mobile does not make use of ADF Mobile Browser or ADF Faces Rich Client. All application code is contained within the mobile application.
OracleCorporationConfidentialForOracleinternaluseonly Page9
2. CAMPUSSOLUTIONS2.1 CAMPUSSOLUTIONSCONFIGURATIONCampusMobilerequiresaminimumPeopleToolslevelofPeopleTools8.52.ForinformationonCampusSolutionsmaintenancelevelrequirementsspecifictoaCampusMobilereleaseversion,pleaserefertoMyOracleSupportdocument1557671.1.
NotethatconfigurationchangesmadewithinCampusSolutionsunderSetUpSACR>CommonDefinitions>SelfServicearetypicallyapplicabletoSelfServicepagesonlyandmaynotaffectthefunctioningoftheEnrollmentWebServicesorCampusMobileitself.
2.2 INTEGRATIONBROKERCONFIGURATIONTheconfigurationofIntegrationBrokerrequiredtoenableCampusMobilearedescribedintheCampusSelfServicePeopleBookchapterSettingUpCampusMobile.Inparticular,refertosectionsSettingUpIntegrationBrokerforCampusMobile,ActivatingCampusMobileServiceOperationsandHandlers,andGenerateRoutingsfortheFollowingServiceOperations.
2.3 SECURITYCONFIGURATIONUserslogintotheCampusMobileappusingthesamecredentialsthattheyuseforCampusSelfServiceaccessthroughPIA.ThesecredentialsarepassedtoPeopleToolsthroughtheAuthenticationandAuthorizationservices,whicharedescribedbelow.
Asdelivered,allfeatureswithinCampusMobileareprotectedwithPermissionListHCCPCSSA3000.ThisisanewPermissionListcreatedtosupportauthorizationinCampusMobile.Bydefault,thisPermissionListismappedtothenewlydeliveredCSMobileStudentRole,andausermusthavethisroletobeabletousetheapplication.
IfyouwanttouseadifferentroletosecureaccesstoCampusMobilefeatures,youshouldmapPermissionListHCCPCSSA3000tothatrole.
IfyouwanttouseadifferentPermissionListtosecureaccesstoCampusMobilefeatures,youmustcustomizeCampusMobileasdescribedinsection3.3.2.3andmapthatPermissionListtowhicheverroleyouwanttouseforthispurpose.
Inaddition,youmustassignthePermissionListthatisusedtosecureaccesstoCampusMobilefeaturestoeachofthewebserviceoperationscalledfromCampusMobile.ThisisdescribedintheCampusSelfServicePeopleBookchapterSettingUpCampusMobile,SettingUpSecurityforCampusMobile.
2.3.1 AUTHENTICATIONSERVICECampusMobilecanauthenticateagainstanybasicauthenticationserver.
OracleCorporationConfidentialForOracleinternaluseonly Page10
CampusSolutionsprovidesaRESTfulwebserviceoperation(SCC_USERREG_AUTHENTICATE)thatisusedexclusivelytosupportauthenticationinCampusMobile.Nothingisreturnedinthepayload.
AnyURLthatisprotectedwithbasicauthenticationcanbeusedastheloginURL.YoumayimplementyourownURLanduseitinsteadofthedefaultone,inwhichcaseyoumustmodifytheconfigurationinyourmobileapplication(refertosection3.3.2.2).
2.3.2 AUTHORIZATIONSERVICE
SinceCampusMobilemakesuseoftheusersPermissionListstocontrolaccesstoitsfeatures,anAccessControlServicemustbedeployedtoreturntheusersPermissionListstoCampusMobile.
AnAccessControlService(ACS)isaRESTfulwebservicewithJSONthatenablesuserstodownloadtheiruserrolesandprivilegesthroughasingleHTTPPOSTmessage.
CampusSolutionsprovidesaRESTfulwebserviceoperation(SCC_USERREG_AUTHORIZE_POST)thatisusedexclusivelytosupportauthorizationinCampusMobile.ItacceptsinputandreturnstheresultinJSONmessageformat.
YoumayimplementyourownACSanduseitinsteadofthedefaultone,inwhichcaseyoumustmodifytheconfigurationinyourmobileapplication(refertosection3.3.2.3).
2.4 ABOUTTHEENTITYREGISTRY
2.4.1 ENTITYPROFILESCampusMobileusesEntityProfilingoftheEnrollmentWebServicesinordertominimizethepayloadprovidedbytheEWS.AMobileprofileisdeliveredthatisdesignedtoprovideonlythenecessaryfieldstoCampusMobile.
YoucanviewthedeliveredEntityProfilesforCampusMobile,MobileandMobileCartintheEntityProfilecomponent(SetUpSACR>SystemAdministration>Entity>EntityProfile).
FormoreinformationontheEntityRegistryandEntityProfilesseetheCampusCommunityPeopleBookchapterSettingUpEntityRegistry.
2.5 CONFIGURINGNOTIFICATIONS
2.5.1 FRAMEWORKTheCampusSolutionsNotificationsFrameworkprovidesaconsistent,extensiblecommunicationmechanismthatCampusSolutionsproductareascanusetoenablenotificationstointerestedparties.NotificationsaredeliveredthroughanotificationsChannelemail,SMS,alertsorworklistsbasedonatransactionperformedbyaconsumingapplication(calledaConsumer).
OracleCorporationConfidentialForOracleinternaluseonly Page11
FormoreinformationabouttheNotificationsFramework,refertotheCampusCommunityPeopleBookchapterWorkingWiththeNotificationsFramework.
2.5.2 CONSUMERSCampusSolutionsisdeliveredwithanumberofpreconfiguredConsumers,someofwhichhavebeendevelopedconcurrentlywithCampusMobile.TheseareidentifiedwithCampusMobileinthename:
CampusMobile CampusMobileGradeEMAIL CampusMobileGradeSMS CampusMobileWLConfirmationEMAIL CampusMobileWLConfirmationSMS
AllConsumersaredeliveredasinactive.ToenabletheseConsumers,refertotheCampusSelfServicePeopleBookchapterSettingUpCampusMobile,SettingUpForNotifications.
YouareabletomodifythedeliveredConsumersorwriteyourown.
ItisimportanttounderstandthattheseConsumersdonotrequireimplementationofCampusMobile(ausermayreceiveemailbasednotificationsthroughanyemailclient,andmayreceiveSMSbasednotificationsthroughanymobilephone)andconversely,youarenotrequiredtoenabletheseConsumersinordertoimplementCampusMobile.
2.5.2.1 FinalGradePostingConsumersTheFinalGradePostingConsumersnotifyastudentwhenthestudentsfinalgradehasbeenpostedforaclass.
Eachstudentwillreceiveanotificationforeveryinstanceofhavingfinalgradespostedforaclass.
2.5.2.2 MovedfromWaitlisttoEnrolledConsumersTheMovedfromWaitlisttoEnrolledConsumersnotifyastudentwhenthestudenthasbeenautomaticallyenrolledintoaclassfromthewaitlist.
TheMovedfromWaitlisttoEnrolledConsumersrelyonbeingtriggeredbyawaitlistjobthatisdeliveredasinactive.Forinstructionsonhowtoactivatethiswaitlistjob,pleaserefertotheStudentRecordsPeopleBookchapterUsingEnrollmentRelatedProcessesformoreinformation.
2.5.2.3 CampusMobileConsumerTheCampusMobileConsumernotifiesastudentwhen:
Anewchecklisthasbeenassignedtothestudent,orifanychecklistitemsonanexistingchecklisthavebeenupdated.(Note:Thisdoesnotincludetheadditionofanewchecklistitemtoanexistingchecklist.)
Anegativeserviceindicatorhasbeenassignedto,orremovedfrom,astudentsrecordoranexistingnegativeserviceindicatorhasbeenupdated.
OracleCorporationConfidentialForOracleinternaluseonly Page12
Thestudentsenrollmentappointmentisabouttoopen.TheCampusMobileConsumermakesuseoftheNotificationFrameworksbatchprocessingcapability.Forinformationonhowtoconfigurethebatchprocessingjobs,refertotheCampusSelfServicePeopleBookchapterSettingUpCampusMobile,DefiningandSchedulingCampusMobileBatchNotifications.
Itisexpectedthatbatchprocessingwilloccuronceperday,withthefollowingimplications:
1. Checklistnotificationsaresentforcheckliststhatareaddedorupdatedthedaypriortothebatchprocessexecution.
2. Serviceindicatornotificationsaresentforchangesoccurringinthe24hourspriortothebatchprocessexecution.
3. Enrollmentappointmentnotificationsaresentforappointmentsthatwillopenthedayafterthebatchprocessexecution.
4. Executingthebatchprocessmorethanonceperdaymayleadtoduplicateenrollmentappointmentnotifications.
5. Executingthebatchprocesslessthanonceperdaymayleadtomissedenrollmentappointmentnotifications.
6. Notificationsaresenttostudentsatthetimeofbatchprocessexecution.
2.5.3 TEMPLATESEverynotificationsentbyaConsumerisbasedonaTemplate,whichisusedtocreatethenotification.Thetemplatedefinesattributesofthenotification,suchasthemessagethatisdeliveredtotheuserusingemailorSMS.
ThefollowingtemplatesaredeliveredforusebytheConsumersmentionedabove:
CHECKLIST_SMS CHECKLIST_EMAIL ENRL_FRM_WL_EMAIL ENRL_FRM_WL_SMS ENROLLMENT_APPT_SMS_OPEN ENROLLMENT_APPT_EMAIL_OPEN GRD_SMS_ADD GRD_SMS_CHNG GRD_SMS_REM GRD_EMAIL_ADD GRD_EMAIL_CHNG GRD_EMAIL_REM SI_ADD_OR_CHG_SMS SI_ADD_OR_CHG_EMAIL SI_DELETE_SMS SI_DELETE_EMAIL
OracleCorporationConfidentialForOracleinternaluseonly Page13
AllTemplatesaredeliveredasinactive.ToenabletheseTemplates,refertotheCampusSelfServicePeopleBookchapterSettingUpCampusMobile,SettingUpForNotifications.
YouareabletomodifythedeliveredTemplatesorcreateyourown.
2.5.4 PREFERENCESEveryusermustspecifyanemailaddressforreceivingemailbasednotifications,andacellphonenumberforreceivingSMSbasednotifications.ThiscanbedonethroughCampusSolutionsSelfService>PersonalInformation>NotificationsPreferences.
ThispagealsoallowsuserstoenableordisableeitheremailorSMSbasednotifications.
CampusSolutionsSelfServicealsoprovidesapageforadministratorstoconfigurethenotificationpreferencesforallusersthroughSelfService>CampusCommunity>PersonalInformation>Biographical>PersonalAttributes>NotificationsPreferences.
UseofthesepagesisdescribedintheCampusCommunityPeopleBookchapterWorkingWiththeNotificationsFramework.
Sinceuserswillnotreceivenotificationsuntilsuchinformationhasbeenentered,youmayconsiderimplementingabatchupdateprocess,orcommunicatingtoallusersthattheyshouldentertheirnotificationpreferences.
2.6 MESSAGECATALOGCONSIDERATIONSCampusMobileusestheEWSforenrollmenttransactionsandtheEWSusesMessageCatalog14641(refertotheEWSguide)formessagesthataredisplayedtousers.MostofthedeliveredmessagesareapplicabletoanyuserinterfaceandthusaresuitableforCampusMobile.HowevertherearecertainmessagesthatshouldbeevaluatedbyeachinstitutiontodeterminetheirapplicabilitytoCampusMobile,sincetheyrefertoCampusSelfServiceUIcomponents.SincethesemessagesarecurrentlyutilizedbybothCampusSelfServiceandCampusMobile,institutionsmaywanttoconsidermodifyingtheexistingmessagestowardamoregenericwordingthatdoesnotincludeinstructionsspecifictoonedeliveryplatform.Refertothetablebelow.
146417 Class%1isfull.Ifawaitlistisavailable,clickAddAnotherClasstoreturntostep1.Clicktheclasslink,selectthewaitlistoptionandresubmityourrequest.
1464138 %1.Youmustobtainpermissiontotakethisclass.Ifyouhaveapermissionnumber,clickAddAnotherClass,clicktheclasslink,enterthenumberandresubmit.
14641223 Class%1anditsalternate(%2)arefull.Ifawaitlistisavailable,clickAddAnotherClasstoreturntostep1.Clicktheclasslink,selectthewaitlistoptionandresubmityourrequest.
OracleCorporationConfidentialForOracleinternaluseonly Page14
3. CAMPUSMOBILE3.1 OVERVIEWThefeaturesofCampusMobilearedescribedintheCampusSelfServicePeopleBookchapterUsingCampusMobile.
CampusMobileisdeliveredasanunsignedMobileApplicationArchive(.maa)file,whichgivesyoutheabilityto:
Configureyourmobileapplication.Refersection3.3. Brandyourmobileapplication.Refersection3.4. Customizeyourmobileapplication.Refersection3.5. Extendyourmobileapplication.Refersection3.6. Manageyourmobileapplication.Refersection3.7.
Todothis,youwillneedtouseOraclesJDeveloperIDE,whichisdescribedinsection3.2.
3.2 USINGJDEVELOPEROracleJDeveloperisanintegrateddevelopmentenvironment(IDE)thatsimplifiesthedevelopmentofJavabasedenterpriseormobileapplications.JDeveloperisthedevelopmentenvironmentfortheOracleApplicationDevelopmentFramework(OracleADF).JDeveloper11gR2(11.1.2.4.0)providessupportfordevelopingADFMobilebasedapplications.
TheADFOracleFusionMiddlewareMobileDeveloper'sGuideforOracleApplicationDevelopmentFramework11gRelease2(11.1.2.4.0),hereinreferredtoastheADFMobileDevelopersGuide,providesacomprehensiveguidetodevelopingOracleADFbasedmobileapplicationsusingOracleJDeveloper.ThisdocumentcanbelocatedontheOracleTechnologyNetwork>DeveloperTools>ADFMobile.
Thesubsequentsectionsofthisdocumentprovideinformationabouthowtoconfigure,brandandcustomizethedeliveredCampusMobileapplicationarchiveusingJDeveloper,makingreferencetoapplicablesectionswithintheADFMobileDevelopersGuide.
3.2.1 INSTALLINGANDSETTINGUPJDEVELOPERNavigatetohttp://www.oracle.com/technetwork/developer-tools/jdev/downloads/index.html,thendownloadandinstallOracleJDeveloper11gR2(11.1.2.4.0).ForadditionalJDeveloperandADFMobilereleaselevelrequirements,aswellasotherrequirementsspecifictoaCampusMobilereleaseversion,pleaserefertoMyOracleSupportdocument1557671.1.
Followchapter3oftheADFMobileDeveloper'sGuidetosetupJDeveloperandtherequireddevelopmenttoolsforiOSorAndroid(orboth).
OracleCorporationConfidentialForOracleinternaluseonly Page15
3.2.2 CREATINGANEWMOBILEAPPLICATIONFROMTHEDELIVEREDMOBILEAPPLICATIONARCHIVEFILE
InJDeveloper,selectNewApplication>MobileApplicationfromArchiveFile,thenbrowsetotheCampusMobile.maafilecontainedwithinyourCampusSolutionsreleasefolder.YouwillnowseeanapplicationcalledCampusMobileinyourApplicationNavigator,similartothescreenshotbelow.
Figure31ApplicationNavigator
Chapter4oftheADFMobileDevelopersGuideprovidesanoverviewofthestructureofthemobileapplicationthatyouhavejustcreated,includingadescriptionoftheimportantfilesandhowtonavigatetheapplicationstructurewithinJDeveloper.Bearinmindthatthedescriptioninchapter4oftheADFMobileDevelopersGuideisrelatedtoanapplicationthatiscreatedfromscratch.Forfurtherinformationaboutwhathappenswhenyoucreateanapplicationfromamobileapplicationarchivefile,refertosection17.7.2oftheADFMobileDevelopersGuide.
Asdelivered,theCampusMobileapplicationhasOraclebrandingandsomedummyconfigurations.Thesubsequentchaptersofthisguidedescribehowyoucanconfigure,brand,customizeandevenextendyourmobileapplication.
Youmaywanttodeployandtestyourmobileapplicationatthispointbeforeimplementinganybrandingorcustomizations.Beforedoingso,youmustataminimumconfigurethewebserviceendpoints(refersection3.3).Havingdonethis,youcandeploytoaninstalledemulatorortoaconnecteddevice(refersection3.7.2).
3.3 CONFIGURINGYOURMOBILEAPPLICATION
3.3.1 WEBSERVICESAllwebserviceendpointsaredefinedintheApplication Resources > Descriptors > ADF META-INF > connections.xmlfile.Withinthisfile,youmustreplaceeachinstanceofthestringhostnamewiththecorrectpathtotheserverthathostsyourwebservices,suchasmyserver.myinstitution.edu.
OracleCorporationConfidentialForOracleinternaluseonly Page16
Toensuresecurecommunicationstoandfromthemobiledevice,itisimportanttousesecuredwebservices(i.e.httpsandnothttp)thathaveanSSLcertificatesignedbyacertifiedCA(sinceaselfsignedcertificatewillnotwork).
Havingconfiguredyourmobileapplicationthisway,yourmobileapplicationwillconnecttothewebserviceendpointsthatyouhavedefined.Ifforanyreasononeormoreoftheseendpointschange,youwillneedtoreleaseanewversionofyourmobileapplication.
3.3.2 SECURITYChapter18oftheADFMobileDevelopersGuideprovidesanoverviewofthesecurityframeworkwithinADFMobileanddescribeshowtoconfigurethesecuritymechanismswithinanADFMobileapplication.
3.3.2.1 LoginPageCampusMobileisdeliveredtoyouwithacustomloginpage,describedbythefileApplicationController > Web Content > login.html.ItisasimpleHTMLpagethatprovidesusernameandpasswordtextentryboxes,aLoginbuttonandaRemembermecheckbox.
Forinformationaboutcustomizingthedeliveredloginpage,refertosection3.5.1.
3.3.2.2 AuthenticationCampusMobileauthenticatesagainstthedeliveredauthenticationRESTwebservicethatisdescribedinsection2.3.1.Thelocationofthiswebserviceisdefinedintheconnections.xmlfile,withinthenodeLoginConnection,aselementsand.
Youmustdefinethecorrectwebserviceendpointintheseelements.
Note: It is recommended that the hostname of the URL be the same as that of the RESTful web service endpoint, otherwise you must add the URL to the URL whitelist (refer to section 12.3.2 of the ADF Mobile Developers Guide for information on how to do this).
Followingsuccessfulauthentication,theuserscredentialsarestoredintheencryptedondevicecredentialsstore.CampusMobileinjectstheuserscredentialsintotheheaderofsubsequentwebservicecalls.
3.3.2.3 AuthorizationMostfeatureswithinCampusMobileareconstrainedforaccessbythePermissionListHCCPCSSA3000.ThisisdefinedintheView Controller > Application Sources > META-INF > adfmf-feature.xmlfile.IfyouwanttomakeuseofadifferentPermissionList,changethevalueforeachfeatureinthisfile.
CampusMobilecallsthedeliveredauthorizationRESTwebservicethatisdescribedinsection2.3.2.Thelocationofthiswebserviceisdefinedintheconnections.xmlfile,withinthenodeLoginConnection,aselement.
OracleCorporationConfidentialForOracleinternaluseonly Page17
Youmustdefinethecorrectwebserviceendpointinthiselement.
3.3.2.4 TimeoutsADFMobileprovidesforbothanIdleTimeoutandaSessionTimeout,asdefinedwithinbytheandelements,respectively,withintheLoginConnectionnodeofconnections.xml.
TheIdleTimeoutdefinesthetimeforanapplicationfeaturetoremainidlebeforetheusermustreauthenticate.Afterthisperiodexpires,theuseristimedoutofalltheapplicationfeaturesthataresecuredbytheloginconnection.Inthissituation,theuserispromptedwiththeloginpagewhentheyaccessthefeatureagain.IftheSessionTimeouthasnotyetoccurred,theuserscredentialsareauthenticatedagainstthelocalcredentialstore(otherwisetheuserscredentialswillbeauthenticatedagainsttheauthenticationservice).ThedefaultvalueoftheIdleTimeoutis30minutes.
TheSessionTimeoutdefinesthetimethatausercanremainloggedintoanapplicationfeature.Afterthisperiodexpires,theuserispromptedwiththeloginpageandtheuserscredentialsareauthenticatedagainsttheauthenticationservice.Thedefaultvalueis8hours.
3.4 BRANDINGYOURMOBILEAPPLICATIONBeforedistributingtheCampusMobiletoyourstudents,youwillwanttobranditasyourownapplication,consideringattributessuchas:
Theapplicationid,nameandicon Yourcompanyorinstitutionlogoandcolorscheme Informationabouttheapp Versioningoftheapp
ThesechangesaremadewithinJDeveloperandaredescribedinthesectionsbelow.
3.4.1 CHANGINGTHEAPPLICATIONIDBothAndroidandiOSdevelopmentguidelinesrequirethateveryapphasanidentifier(calledpackageforAndroidappsandBundleIDforiOSapps)thatisuniqueacrossallapplicationsintheAppleAppStore,oranapplicationmarketplace,asappropriate.Therestrictionsonthisidentifieraresimilar,butslightlydifferent,forthetwooperatingsystems.ThisidentifierisneverdisplayedtoyourendusersandyoucansetitforeachoperatingsystemwithintheJDeveloperdeploymentdescriptors,usingtheApplication Bundle Idattribute.Refertosection3.7.2formoreinformationaboutdeploymentdescriptors.
However,sincethenamingconventionsaresimilar,youmayprefertousethesameuniqueidentifierforbothAndroidandiOS.ThiscanbeachievedbysettingtheIdattributeintheadfmf-application.xmlfile.Atdeploymenttime,ifyouhavenotenteredaspecificvalueforApplication Bundle Idwithinadeploymentdescriptor,thisattributewillbereadfromadfmf-application.xml.
OracleCorporationConfidentialForOracleinternaluseonly Page18
CampusMobileisdeliveredwiththeIdattributesettocom.oraclecorp.internal.CampusMobile.Youshouldchangethistosomethinglikeedu.myinstitution.MyApp,whichmustmatchtheprovisioningprofileissuedbyApple(foriPhoneappdevelopment).
Bydefault,thenameofthedeliveredpackagefile(forexample,MyApp.apkorMyApp.ipa)willbederivedfromtheIdattributespecifiedinadfmf-application.xml.Youcanoverridethisinthedeploymentdescriptors.
3.4.2 CHANGINGTHEAPPLICATIONNAMETheconfigurationfileadfmf-application.xmlholdsthevalueforthenameoftheapplicationthatwillbedisplayedtousersintheAppleAppStore(oranapplicationmarketplace)andontheusersdevices.
Asdelivered,theapplicationnameisreadfromtheresourcebundleCampusMobileBundle.xlf,inwhichitissettoCampus.Touseyourownname,changethevalueofAPP_NAMEwithinthisfiletothenameyouwanttouse.
Thereasonfordefiningtheapplicationnameintheresourcebundleistoallowforlocalizationofthename.Youcanlearnmoreaboutlocalizationinsection3.5.5.
3.4.3 CHANGINGTHEAPPLICATIONICONBothAndroidandiOShavedifferentrequirementsfortheappicon.Youshouldreadtheguidelines(AndroidDevelopers>Design>IconographyandiOSDeveloperLibrary>CustomIconandImageCreationGuidelines>AppIcon)beforedevelopingyourownappicon.Bothoperatingsystemsrequirethedefinitionoficonimagefilesfordifferentformfactors,whichwillbescaledaccordinglyonuserdevices.
ThedeliveredCampusMobileappiconhastwoversions,oneforAndroidandoneforiOS,both114x114pixels.WhilstADFMobilefacilitatesthedefinitionofdifferentsizedimagefilesfordifferentdeviceformfactors,thesame114x114imagefilehasbeenreplicatedwithdifferentfilenamesforeachoperatingsystem.TheseimagefilesarelocatedandroidandiosfoldersunderApplication Resources > Resources.Onceyouhavedevelopedyourownappicon,youcanreplacethedeliveredimagefileswithyourown,usingthesamefilenames.
BeawarethatApplealsorequiresa512x512imagefileforusewithiniTunes.
NotethatADFMobileallowsfortheiOSglosseffectontheicontobeturnedonoroff.ThiscanbeconfiguredwithintheiOSdeploymentprofileunderApplication > Application Properties > Deployment > IOS_MOBILE_NATIVE_archive > Edit > iOS Options > Application Images.Asdelivered,itisturnedoff.
3.4.4 INSERTINGYOURLOGOAsdelivered,theOraclelogoappearsonthesplashscreen,thespringboardandtheaboutpage.
OracleCorporationConfidentialForOracleinternaluseonly Page19
Thesplashscreenisonewholeimage,forwhichthereexistsmultipleimagefilesfordifferentdeviceformfactors.Theseimagefilesarelocatedinthesamefoldersastheappicons,underApplication Resources > Resources.Onceyouhavedevelopedyourownsplashscreenimage,youcanreplacethedeliveredimagefileswithyourown.
Thelogousedonthespringboardandaboutpageisanimagefile(logo.png)storedwithintheViewController > Web Content > resources > images.Youcanreplacetheexistingfilewithyourown.Eachofthespringboardandaboutpagesdefinethelocationofthelogoonthepage.Youcanmodifythesepages(springboard.amxandabout.amxwithinViewController > Web Content > oracle.cs.cm.view.sprinboard)ifyourlogowouldbebettersuitedinadifferentlocation.
AsmallversionoftheOraclelogoisusedastheHomebuttonthat,whentapped,returnstheusertothespringboard.Thisisstoredasanimagefile(home.pngwithinViewController > Web Content > resources > icons)whichyoucanreplacewithyourown.Youmaywanttouseasmallversionofyourownlogotoensureaconsistentbrandingthroughouttheapp.Otherwiseyoumaywanttouseagenerichomeicon.
3.4.5 INSERTINGYOURCOLORSCHEMETheoverallvisualcolorschemepresentedthroughouttheappisdeterminedbytheskinandafewbackgroundimages.TheuseofCascadingStyleSheet(CSS)skinsensuresthatallapplicationcomponentsshareaconsistentlookandfeel.
ThedeliveredskinisanextensionofthedefaultskinprovidedbyADFMobile(calledmobileFusionFx),whichincludesapredominantlyblackpagebackground,withblackheaderandfooter,alongwithstandardiOScoloringforpagecomponents,suchastables,listsandbuttons.
TheskinextensionsaredefinedinViewController > Web Content > resources > styles > common.css,whichisregisteredintheadfmf-skins.xmlfile.
Youmaywanttochangetheskinoftheappsothatitusesyourinstitutionscolorsandworkswelltogetherwithyourlogo.Todothis,youcaneitherextendthedeliveredskinorinsertyourownskin.Chapter5.11oftheADFMobileDevelopersGuidedescribeshowtodothis.
Thespringboardandaboutpagesmakeuseofbackgroundimagesthataredifferenttotheonedefinedintheskin.PortraitandlandscapeversionsoftheseimagefilesarelocatedinViewController > Web Content > resources > images.Youcanreplacetheexistingfileswithyourown.Oneachofthespringboardandaboutpagesstretchthebackgroundimagetofittheusersdevice.Theyalsodefinethelocationofthelogoonthepage.Youcanmodifythesepages(springboard.amxandabout.amxwithinViewController > Web Content > oracle.cs.cm.view.sprinboard)ifyourlogowouldbebettersuitedinadifferentlocationwhendisplayedonthenewbackgroundimage.
OracleCorporationConfidentialForOracleinternaluseonly Page20
3.4.6 INSERTINGYOURAPPINFOAsdelivered,theaboutpagedisplaysabackgroundimage,alogo,theappnameandversionnumber,andanOraclecopyrightnotice.YoushouldchangethecopyrightnoticetoyourownmessagebymodifyingthevalueforCOPYRIGHT_LBLwiththeresourcebundleViewControllerBundle.xlf.
Ifyouwanttomakemoreextensivechangestotheaboutpage,youcouldmodifythedeliveredfile(about.amxinViewController > Web Content > oracle.cs.cm.view.sprinboard),oryoucouldwriteyouownpage.Thiscouldbeaconvenientplacetodisplayanyenduserlicenseagreement.Ifyouwriteyourown,youwillneedtoupdatethereferencewithinspringboard-task-flow.xmlinthesamelocation.
3.4.7 MAINTAININGTHEAPPVERSIONTheappversionisdefinedinadfmf-application.xml.Asdelivered,thiswillindicatetheversionofCampusMobile,butsincethisversionisdisplayedtoyourusers,youshouldmaintainyourownappversion.
Althoughyoucanenteranytextinthisfield,sinceiOSonlyallowstheappversiontocontainoneormoreperiodseparatedintegers(forexample,youcanspecify10.2.5,butnotV1),youshouldfollowtheiOSapprovedformattoensurecompatibilityacrossbothAndroidandiOS.
IfyouwanttouseadifferentappversiononAndroid,youcanconfiguretheVersion NameattributeoftheAndroiddeploymentdescriptorseparately.NotethattheAndroiddeploymentdescriptoralsocontainsaVersion Codeattribute,whichisnotdisplayedtousersandisusedtodeterminewhetheroneversionofyourappismorerecentthananother.
NotethattheDescriptionandVendorfieldsinadfmf-application.xmlcanbeleftempty,astheyarenotused.
3.5 CUSTOMIZINGYOURMOBILEAPPLICATION
3.5.1 CUSTOMIZINGTHELOGINPAGEAsdelivered,CampusMobilecontainsaloginpage,login.html,locatedinApplicationController > Web Content.Youmaywanttomodifythelookandfeelofthispagetoincludeyourlogooradditionalinformationforyourusers.Todothis,youshouldcreateanewHTMLpage(perhapsacopyofthedeliveredone),whichshouldbereferencedasthecustomloginpagewithinadfmf-application.xml.
3.5.2 CUSTOMIZINGTHESPRINGBOARDANDNAVIGATIONBARAsdelivered,CampusMobilecontainsaspringboardandanavigationbar.
ADFMobileprovidesyouwiththeabilitytocustomizethefunctionalityofthespringboardandnavigationbarusingJDeveloper.Forexample,youcould
OracleCorporationConfidentialForOracleinternaluseonly Page21
Turnoffthespringboardornavigationbar Changethewaythespringboardisdisplayed Createyourownspringboard Displayatogglebuttonthatenablestheusertodisplaythespringboardornavigationbar
Chapter5.4oftheADFMobileDevelopersGuidedescribeshowtomakesuchcustomizations.
3.5.3 CUSTOMIZINGTHEAPPFEATURESEveryADFMobileappcontainsoneormorefeatures.Afeaturemaybeaccesseddirectlyfromthespringboardornavigationbar,oritmaybeaccessedfromanotherfeature.
Asdelivered,CampusMobilecontainsthefollowingfeatures:
Schedule Search Cart Grades Profile Springboard EnrollmentOptions Redirector Map
Thefirstfiveinthelistaredisplayedonthespringboardandnavigationbar.Theothersarenot.
ADFMobileprovidesyouwiththeabilitytocustomizethedisplayandfunctionalityofthedeliveredfeaturesusingJDeveloper.Forexample,youcould
Removefeaturesfrom(oraddto)thespringboardornavigationbar Changetheorderofthefeaturesdisplayedonthespringboardandnavigationbar Changethenamesandiconsoffeatures(refersection3.5.5) Changefeaturesecurityandconstraints Changefeaturelifecycleandtaskflows
Chapter5.5oftheADFMobileDevelopersGuidedescribeshowtomakesuchcustomizations.
NotethatthedeliveredfunctionalityofCampusMobileisdefinedbythefeatures,sochangingattributessuchassecurity,constraints,lifecycleortaskflowsisnotrecommended.
3.5.4 MAPSINTEGRATIONThedeliveredCampusMobileapplicationhasaMapfeaturethatenablesuserstodisplaythelocationofaclassroomonamapiftheclassroomsbuildinglocationhasbeenenteredintoCampusSolutions.
OracleCorporationConfidentialForOracleinternaluseonly Page22
ADFMobilesupportstheuseofOracleMapsorGoogleMaps.Asdelivered,CampusMobileusesOracleMapsandsupportsthedisplayoftheclassroomlocationandtheuserscurrentlocation.
IfyouchangetoGoogleMaps,youruserswillbeabletoaccessGoogleStreetViewandadditionallayers,suchassatellite.Itwouldalsobepossibletoextendtheapptoprovideadditionalinformation,suchasdirections.
ToconfiguretheapptouseGoogleMaps,youmustmodifyadf-config.xmlasfollows:
1. Replacewith.
2. AddwhereyourKeyisyourinstitutions(orcompanys)GoogleMapsbusinesslicensekey.
3. AddwhereyourClientIdisyourinstitutions(orcompanys)clientidforyourGoogleMapsbusinesslicense.
4. Remove.
5. Remove.
Refertosection3.6.1fordetailsofhowtoextendtheapptomakeuseofadditionalGoogleMapsfunctionality.
3.5.5 ICONS,LABELS,RESOURCEBUNDLESANDLOCALIZATIONAlliconsandlabelsdisplayedwithinCampusMobilearereferencedwithintheresourcebundleViewController.xlf.Thisapproachnotonlyenablesyoutoeasilyreplaceaniconorlabelwithyourown,butalsofacilitateslocalization.Inthisway,youcansupportmorethanonelocalewithintheapp.Refertosection5.10oftheADFMobileDevelopersGuideformoreinformation.
CampusMobiledeterminestheresourcebundletobeusedbasedonthelocalespecifiedinthedevicessettings.
Ifyoudontneedtosupportmultiplelocaleswithintheapp,youcansimplymakechangestolabelsdirectlywithinViewController.xlfandyoucanreplacetheimagefilesdirectlyinthefolderViewController > Web Content > resources > icons.
Youshouldreadtheguidelines(AndroidDevelopers>Design>IconographyandiOSDeveloperLibrary>CustomIconandImageCreationGuidelines)beforedevelopingtheiconsettobeusedinyourmobileapplication.
3.5.6 CUSTOMIZINGTHEGENERICERRORMESSAGEIfCampusMobilereceivesaninvalidwebserviceresponse(ornoresponsewithinthetimeoutperiod),agenericerrormessageisdisplayedtotheuser.Asdelivered,thiserrormessagestatesConnectionError.Pleasetryagain.Iftheproblempersists,pleasecontactyourIThelpdesk.You
OracleCorporationConfidentialForOracleinternaluseonly Page23
maywanttocustomizethismessagebyincludingaphonenumberoremailaddressthattheycancontactinsuchsituations.Todothis,modifythevalueforthekeyCONNECTION_ERROR_LABELinViewController.xlf.
3.5.7 CUSTOMIZINGPAGESWITHINTHEAPPADFMobileAMXisasubframeworkwithinADFMobilethatprovidesasetofUIcomponentsthatenableyoutocreateanapplicationfeaturewhosebehaviorisidenticalonallsupportedplatformsandprovidesaccesstodevicefunctionality.JDeveloperallowsyoutodragthesecomponentsintoaneditorfromtheComponentpaletteorfromtheDataControlpalette.JDeveloperalsoallowsyoutocreatetaskflowsthatdefinethenavigationbetweenADFMobileAMXpages.
EachpagewithinCampusMobileisdefinedbyanAMXfile,suchasgrades.amxfortheGradesfeature.UsingJDeveloper,youhavealotofflexibilityforchangingthelayoutofanypagewithintheapp.
Ratherthanmodifyinganydeliveredfiledirectly,youshouldmakeacopyofthefileandmodifythecopy.Ensurethatthenewpagefileisreferencedwithintheassociatedtaskflow(forexample,inthecaseofgrades.amx,thiswouldbegrades-task-flow.xml).
Beforemakingsuchchanges,pleasereadsections6,7and8oftheADFMobileDevelopersGuidetoensurethatyouhaveathoroughunderstandingofAMX.
Forinformationaboutchangingthedatadisplayedonapagewithintheapp,refertosection3.6.2.
Itisnotrecommendedtochangethetaskflowswithintheapp,otherthantoupdatethepagenamesifyoucustomizepages.Otherwiseyoumaybreakthedesignedflowoftheapp,potentiallyintroducingbugsandevenleadingtodataintegrityissues.
3.6 EXTENDINGYOURMOBILEAPPLICATION
3.6.1 PROVIDINGADDITIONALMAPFUNCTIONALITYIfyouchangetousingGoogleMaps(refertosection3.5.4)andwanttomakeuseofotherGoogleMapsAPIfeatures,suchasprovidingdirections,youmustwriteyourownJavaScriptandincorporateitintoacopyoftheshow-location.amxpage(refertosection3.5.7regardingcustomizationstodeliveredAMXpages).
3.6.2 CHANGINGTHEDISPLAYEDDATAInadditiontochangingthelayoutofadeliveredAMXpage(refertosection3.5.7regardingcustomizationstodeliveredAMXpages),youmaywanttoalterthedatathatisdisplayedonadeliveredAMXpage.
Toremovedata,simplyremovethecomponentthatdisplaysthedata.Thismaybeusefulifyoudonotmakeuseofaparticularfieldduringatransactionandthereforeyoudontwanttoconfuseyourusersbydisplayingthefield.
OracleCorporationConfidentialForOracleinternaluseonly Page24
WithintheAMXpagedefinition,youhaveflexibilityabouthowdataisdisplayed.Forexample,youmaywanttodisplayGPAtoonly1decimalplaceinsteadof3.
Inordertodisplayadditionaldataonapage,youmustfirstensurethatthedataisdeliveredtotheapp.Thismaybeassimpleasalteringthedeliveredentityprofilefortherelevantwebservice(refertotheEntityRegistrychapter(s)oftheCampusCommunityPeopleBook).Oryoumayneedtocustomizethewebservice.
ToensurethatthedatainthewebserviceresponseismadeavailabletotherelevantAMXpage(s)fordisplay,youneedtowriteadatacontrol.ThedeliveredDataControlscannotbemodifiedorextended.Formoreinformationaboutwebservicedatacontrols,refertochapters8and9oftheADFMobileDevelopersGuide.
Onceyouhavecreatedthewebservicedatacontrol,youcanthenupdateyourAMXpagetodisplaytheadditionaldata.
3.6.3 PROVIDINGADDITIONALFEATURESOneofthebenefitsofusingOracleADFMobiletechnologyistheeasewithwhichyoucanextendCampusMobilebyaddingnewfeatures.Asdescribedinsection1.3,eachofAMX,LocalHTMLandRemoteHTMLfeaturesmaycoexistwithinanADFMobileapplication,whichmeansthatyoucanleverageexistingwebpagesandwebserviceswithouthavingtolearnADFMobileAMX.
Forexample,ifyoualreadyhaveawebpagethathasbeendesignedforthemobilebrowser(orevenifithasnt),youcanveryeasilyaddaRemoteHTMLfeaturethatdisplaysthewebpagewithinCampusMobile.Formoreinformationonthis,readchapter12oftheADFMobileDevelopersGuide.
Alternatively,ifyouhaveexistingwebservices,youcaneasilyaddaLocalHTMLfeature,writingyourownHTMLcode(inJDeveloperornot)thatcallsthewebservices.Suchpagesmaystillaccessthedevicefunctionality.Formoreinformationrefertosection5.9.1oftheADFMobileDevelopersGuide.
3.7 MANAGINGYOURMOBILEAPPLICATION
3.7.1 DEVELOPINGYOURMOBILEAPPLICATIONIfyouintendtomakecustomizationsorextensionstothedeliveredapp,thenyoushouldconsiderformalizingyourdevelopmentprocesses.
Atypicaldevelopmentlifecycleincludes:
Requirementsgatheringanddefinition Design Implementation(refersections3.2to3.6) Deployment(refersection3.7.2) Testinganddebugging(refersection3.7.3)
OracleCorporationConfidentialForOracleinternaluseonly Page25
Distribution(refersection3.7.4) Support(refersection3.7.5)
3.7.2 DEPLOYINGYOURMOBILEAPPLICATIONChapter17oftheADFMobileDevelopersGuidedescribesindetailtheentiredeploymentprocess.
ThedeliveredCampusMobileapplicationhasadefaultAndroiddeploymentprofileandaniOSdefaultdeploymentprofile.Youcanmakeuseoftheseforyourtestingandalsofortheeventualcreationofmobileapplicationfilesfordistributiontoyourstudents.Otherwiseyoucanmodifytheseorcreatenewdeploymentprofilestodeploywithdifferentattributes.
ThedelivereddeploymentprofilesareconfiguredtodeploytheappinReleasemodeandinthecaseofiOS,asaniPhoneapp(whichmeansthattheappcanbedeployedtoaniPadbutwilldisplayasiPhonesize).NotethatchangingtoDebugmodewillcauseyourmobileapplicationtorunmuchslower.ChangingtoaniPhone/iPadappwillcausetheapptostretchtheUIifdeployedtoaniPad(forwhichitisnotdesigned).Ofcourse,changingtoaniPadappwillprecludedeploymentoftheapptoaniPhoneforyourusers.
Thedelivereddeploymentprofilesareunsigned.Youmustconfigurethedeploymentprofileswithyoursigningproperties.ForAndroid,refertosection17.2.3.4oftheADFMobileDevelopersGuide.ForiOS,refertosections17.2.4.2and17.4.4oftheADFMobileDevelopersGuide.
Todeployyourmobileapplicationfortesting,selectApplication>Deploy,thenselecteithertheAndroidoriOSdeploymentprofile.Youmustthenselecttodeploytoaconnecteddeviceoraninstalledemulator.Oncethedeploymenthasfinished,youwillbeabletotestyourmobileapplication.
3.7.3 TESTINGANDDEBUGGINGYOURMOBILEAPPLICATIONMoreinformationabouttestinganddebuggingyourmobileapplicationcanbefoundinchapter19oftheADFMobileDevelopersGuide.
Asdelivered,CampusMobileonlylogsSEVEREmessages.Thisisrecommendedforyourproductionreleaseofyourmobileapplication.However,fordebuggingpurposes,youcanlowerthemessageseverityforlogging.Todothis,modifythevaluefor.levelinthefileApplication Resources > Descriptors > META-INF > logging.properties.Theacceptedseverityvaluesare:SEVERE,WARNING,INFO,FINE,FINER,FINEST.Formoreinformationaboutconfigurationoflogging,refertosection19.4intheADFMobileDevelopersGuide.
JDevelopercreatesafilewithintheApplication Resources > Securityfolderthatidentifiesasetofcertificatesfromwellknownandtrustedsources.IfthecertificateusedbyyourSSLwebservicesisnotcontainedwithinthisset,ornotsignedbyaCAwithinthisset,youmaynoticeanerror'Certificatewasissuedbyanunrecognizedentity'inthelogfile.Refertosection18.5oftheADFMobileDeveloper'sGuideforinformationonhowtoaddyourcertificatetothetrustedset.
NotethatthefirstlaunchoftheapponAndroidmaytakeawhileasitunpackstheapp.
OracleCorporationConfidentialForOracleinternaluseonly Page26
3.7.4 DISTRIBUTINGYOURMOBILEAPPLICATIONDeployingtheapplicationtotheproductionenvironmenttypicallyinvolvespublishingtoanenterpriseserver,theAppleAppStore,oranapplicationmarketplace,suchasGooglePlay.AfteryoupublishtheADFMobileapplication,enduserscandownloadittotheirmobiledevices.
Refertosection17.3.3oftheADFMobileDevelopersGuideforinformationaboutpublishinganAndroidapplication.Refertosection17.4.5oftheADFMobileDevelopersGuideforinformationaboutpublishinganiOSapplication.
3.7.5 SUPPORTINGYOURMOBILEAPPLICATIONYoushouldconsiderthesupportandmaintenanceramificationsofdeliveringamobileapplicationtoyourstudents.
Youmaywanttosetupasupportphonenumberoremail,whichcouldbereferencedinthemobileapplicationsaboutpage(refertosection3.4.6)orgenericerrormessage(refertosection3.5.6).
Youmayconsiderprovidingamechanismforstudentstogivefeedbackabouttheapp,whichcouldbeusedtoinformadditionaldevelopmentofyourmobileapplication.