Professional Documents
Culture Documents
TableofContents
1. Background......................................................................................................................................................................................5
1.1 Introduction...........................................................................................................................................................................5
1.2 OverviewofCampusMobile............................................................................................................................................5
1.3 OverviewofADFMobile....................................................................................................................................................6
2. CampusSolutions........................................................................................................................................................................10
2.1 CampusSolutionsConfiguration.................................................................................................................................10
2.2 IntegrationBrokerConfiguration...............................................................................................................................10
2.3 SecurityConfiguration.....................................................................................................................................................10
2.3.1 AuthenticationService...........................................................................................................................................10
2.3.2 AuthorizationService.............................................................................................................................................11
2.4 AbouttheEntityRegistry...............................................................................................................................................11
2.4.1 EntityProfiles............................................................................................................................................................11
2.5 ConfiguringNotifications................................................................................................................................................11
2.5.1 Framework..................................................................................................................................................................11
2.5.2 Consumers...................................................................................................................................................................12
2.5.3 Templates....................................................................................................................................................................13
2.5.4 Preferences.................................................................................................................................................................14
2.6 MessageCatalogConsiderations..................................................................................................................................14
3. CampusMobile.............................................................................................................................................................................16
3.1 Overview................................................................................................................................................................................16
3.2 UsingJDeveloper................................................................................................................................................................16
3.2.1 InstallingandSettingupJDeveloper................................................................................................................16
3.2.2 CreatingaNewMobileApplicationFromtheDeliveredMobileApplicationArchiveFile........17
3.3 ConfiguringYourMobileApplication........................................................................................................................17
3.3.1 WebServices..............................................................................................................................................................17
3.3.2 Security.........................................................................................................................................................................18
3.3.3 Properties....................................................................................................................................................................19
3.3.4 CurrencySymbols....................................................................................................................................................19
3.4 BrandingYourMobileApplication.............................................................................................................................19
3.4.1 ChangingtheApplicationID................................................................................................................................20
3.4.2 ChangingtheApplicationName.........................................................................................................................20
3.4.3 ChangingtheApplicationIcon............................................................................................................................20
3.4.4 InsertingYourLogo.................................................................................................................................................21
3.4.5 InsertingYourColorScheme...............................................................................................................................21
3.4.6 InsertingYourAppInfo.........................................................................................................................................22
3.4.7 InsertingYourAppURLScheme........................................................................................................................22
3.4.8 MaintainingTheAppVersion..............................................................................................................................22
3.5 CustomizingYourMobileApplication.......................................................................................................................23
3.5.1 CustomizingtheLoginPage.................................................................................................................................23
3.5.2 CustomizingtheSpringboardandNavigationBar.....................................................................................23
3.5.3 CustomizingtheAppFeatures............................................................................................................................23
3.5.4 MapsIntegration.......................................................................................................................................................24
3.5.5 Icons,Labels,ResourceBundlesandLocalization......................................................................................25
3.5.6 CustomizingtheGenericErrorMessage.........................................................................................................25
3.5.7 CustomizingPagesWithintheApp...................................................................................................................25
3.5.8 CustomizingtheAndroidAppPermissions...................................................................................................26
3.6 ExtendingYourMobileApplication............................................................................................................................26
3.6.1 ProvidingAdditionalMapFunctionality.........................................................................................................26
3.6.2 ChangingtheDisplayedData...............................................................................................................................26
3.6.3 ProvidingAdditionalfeatures.............................................................................................................................27
3.7 ManagingYourMobileApplication............................................................................................................................27
3.7.1 DevelopingYourMobileApplication................................................................................................................27
3.7.2 DeployingYourMobileApplication..................................................................................................................28
3.7.3 TestingandDebuggingYourMobileApplication........................................................................................28
3.7.4 DistributingYourMobileApplication..............................................................................................................29
3.7.5 SupportingYourMobileApplication................................................................................................................29
Figure11ADFMobileRuntimeArchitecture.............................................................................................................................7
Figure31ApplicationNavigator...................................................................................................................................................17
1. BACKGROUND
1.1 INTRODUCTION
CampusMobileisanewstudentselfserviceinterfacedesignedforsmartphonedevices.Itis
deliveredaspartofCampusSolutionsSelfServiceandisdeployedasaniOSorAndroidapplication.
Theapplicationenablesstudentstohaveconstantaccesstohighvaluetransactions.
Thisdocumentprovidesimplementerswiththeinformationrequiredto:
ConfigureyourexistingCampusSolutionsenvironment(s)tofacilitatemobileaccess.Refer
tochapter2.
Configure,brand,customizeandextendthedeliveredCampusMobileapplicationarchivein
ordertocreateanddistributeamobileapplicationthatistailoredtotheneedsofyour
studentsandorganization.Refertochapter3.
Readersshouldprogressthroughthisdocumentinthechapterorder,sincelaterchaptersrequire
knowledgeofinformationdescribedinearlierchapters.
Multiplepiecesofdocumentationhavebeendevelopedorupdatedtoassistintheimplementation
effort.
SeeCampusMobileDocumentation,onMyOracleSupport
SeeWorkingWiththeNotificationsFramework,partofCS_Bundle_29_Campus_Community_9_0.pdf
onMyOracleSupport
SeePeopleSoftCampusCommunityFundamentals9.0PeopleBook,SettingUpEntityRegistry
1.2 OVERVIEWOFCAMPUSMOBILE
CampusMobileisbuiltusingOraclesADFMobileframework,whichenablesdeploymenttoboth
iOSandAndroidasanativeapplication.
Theapplicationfeatureshighvaluetransactionstowhichstudentsdesiretohaveconstant,always
availableaccess.FeaturesofCampusMobileincludetheabilityto:viewclassschedule,viewgrades,
viewfinances,viewtodolist,viewholds,viewscheduleofclasses,enrollinclasses,andmanagethe
enrollmentshoppingcart.
TheCampusMobilesmartphoneapplicationisasecure,simplified,andpersonalizedplatformfor
studentstoconductkeyCampusSelfServiceprocesses.Youcanconfigure,brand,customizeand
extendtheCampusmobileapplicationtosuityourrequirements.
CampusMobileusesthedeliveredCampusSolutionswebservicestoproviderealtimereadand
writeaccesstodatawithinCampusSolutions.ForCampusMobile,RESTfulversionsoftheweb
servicesaredeployed,leveragingPeopleTools8.52functionality.RESTfulwebservicesrequire
loweroverheadthanSOAPbasedservices,thusloweringthebandwidthrequirementfordelivering
OracleCorporationConfidentialForOracleinternaluseonly Page5
datatoamobiledevice.Tooptimizethewebserviceperformance,CampusMobiletakesadvantage
oftheEntityProfilingfeaturenewtoCampusSolutions.EntityProfilegivesustheabilitytocreate
anduseamobileprofilethatlimitstheamountofdatadeliveredinthewebservicepayloadtothe
subsetofdatathatCampusMobileneeds;furtherloweringthebandwidthrequirementfor
deliveringdatatoamobiledevice.
InparalleltoCampusMobile,theCampusSolutionsNotificationFrameworkprovidesproactive
communicationtostudentsandenhancesthestudentmobileexperience.CampusMobileenables
studentstomanagehowtheyreceivenotifications.
Note:CertainnotificationsaredescribedinCampusMobiledocumentation,butCampusMobileisnot
necessarilyaprerequisitetotheimplementationofthesenotifications.Thesenotificationsenhance
themobileexperienceforstudentsandprovideproactiveinformationfromCampusSolutionsandthus
theyhavebeendevelopedparalleltoCampusMobile.
1.3 OVERVIEWOFADFMOBILE
TheOracleApplicationDevelopmentFramework(OracleADF)isanendtoendJavaenterprise
frameworkthatsimplifiesapplicationdevelopmentbyprovidingoutoftheboxinfrastructure
servicesandavisualanddeclarativedevelopmentexperience.
ADFMobileextendsOracleADF,enablingyoutocreateanapplicationthatcanhousedifferent
typesofcontentandrunsonmobiledevicespoweredbytheiOSandAndroidplatforms.Withinthe
application,thecontainedfunctionalareasarereferredtoas applicationfeatures andrepresent
oneormorespecificpiecesoftheapplication'sfunctionality.
AnextensionofApacheCordova(see http://cordova.apache.org),theADFMobilearchitecture
enablesHTML5,aswellasADFdefinedpagesandtaskflowstoberenderedinthesame
downloadableapplication.
ADFMobileconsistsofthefollowingparts:
Model providedbyOracleADF.
View expressedasHTMLorXML.
Controller definedwithXML.
Java runtime poweredbyanembeddedJavaVMbundledwitheachapplication.
Figure11showstheoverallruntimearchitectureofADFMobile.
OracleCorporationConfidentialForOracleinternaluseonly Page6
Figure11ADFMobileRuntimeArchitecture
ThefollowingelementscomprisetheADFMobileruntimearchitecture:
OracleCorporationConfidentialForOracleinternaluseonly Page7
Note: Campus Mobile does not make use of Server HTML. All application
code is contained within the mobile application.
OracleCorporationConfidentialForOracleinternaluseonly Page8
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. CAMPUSSOLUTIONS
2.1 CAMPUSSOLUTIONSCONFIGURATION
CampusMobilerequiresaminimumPeopleToolslevelofPeopleTools8.52.Forinformationon
CampusSolutionsmaintenancelevelrequirementsspecifictoaCampusMobilereleaseversion,
pleaserefertoMyOracleSupportdocument1557671.1.
NotethatconfigurationchangesmadewithinCampusSolutionsunderSetUpSACR>Common
Definitions>SelfServicearetypicallyapplicabletoSelfServicepagesonlyandmaynotaffectthe
functioningoftheEnrollmentWebServicesorCampusMobileitself.
2.2 INTEGRATIONBROKERCONFIGURATION
TheconfigurationofIntegrationBrokerrequiredtoenableCampusMobilearedescribedinthe
CampusSelfServicePeopleBookchapterSettingUpCampusMobile.Inparticular,refertosections
SettingUpIntegrationBrokerforCampusMobile,ActivatingCampusMobileServiceOperations
andHandlers,andGenerateRoutingsfortheFollowingServiceOperations.
2.3 SECURITYCONFIGURATION
UserslogintotheCampusMobileappusingthesamecredentialsthattheyuseforCampusSelf
ServiceaccessthroughPIA.ThesecredentialsarepassedtoPeopleToolsthroughthe
AuthenticationandAuthorizationservices,whicharedescribedbelow.
Asdelivered,allfeatureswithinCampusMobileareprotectedwithPermissionList
HCCPCSSA3000.ThisisanewPermissionListcreatedtosupportauthorizationinCampusMobile.
Bydefault,thisPermissionListismappedtothenewlydeliveredCSMobileStudentRole,anda
usermusthavethisroletobeabletousetheapplication.
IfyouwanttouseadifferentroletosecureaccesstoCampusMobilefeatures,youshouldmap
PermissionListHCCPCSSA3000tothatrole.
IfyouwanttouseadifferentPermissionListtosecureaccesstoCampusMobilefeatures,youmust
customizeCampusMobileasdescribedinsection3.3.2.3andmapthatPermissionListto
whicheverroleyouwanttouseforthispurpose.
Inaddition,youmustassignthePermissionListthatisusedtosecureaccesstoCampusMobile
featurestoeachofthewebserviceoperationscalledfromCampusMobile.Thisisdescribedinthe
CampusSelfServicePeopleBookchapterSettingUpCampusMobile,SettingUpSecurityforCampus
Mobile.
2.3.1 AUTHENTICATIONSERVICE
CampusMobilecanauthenticateagainstanybasicauthenticationserver.
OracleCorporationConfidentialForOracleinternaluseonly Page10
CampusSolutionsprovidesaRESTfulwebserviceoperation(SCC_USERREG_AUTHENTICATE)that
isusedexclusivelytosupportauthenticationinCampusMobile.Nothingisreturnedinthepayload.
AnyURLthatisprotectedwithbasicauthenticationcanbeusedastheloginURL.Youmay
implementyourownURLanduseitinsteadofthedefaultone,inwhichcaseyoumustmodifythe
configurationinyourmobileapplication(refertosection3.3.2.2).
2.3.2 AUTHORIZATIONSERVICE
SinceCampusMobilemakesuseoftheusersPermissionListstocontrolaccesstoitsfeatures,an
AccessControlServicemustbedeployedtoreturntheusersPermissionListstoCampusMobile.
AnAccessControlService(ACS)isaRESTfulwebservicewithJSONthatenablesuserstodownload
theiruserrolesandprivilegesthroughasingleHTTPPOSTmessage.
CampusSolutionsprovidesaRESTfulwebserviceoperation(SCC_USERREG_AUTHORIZE_POST)
thatisusedexclusivelytosupportauthorizationinCampusMobile.Itacceptsinputandreturnsthe
resultinJSONmessageformat.
YoumayimplementyourownACSanduseitinsteadofthedefaultone,inwhichcaseyoumust
modifytheconfigurationinyourmobileapplication(refertosection3.3.2.3).
2.4 ABOUTTHEENTITYREGISTRY
2.4.1 ENTITYPROFILES
CampusMobileusesEntityProfilingoftheEnrollmentWebServicesinordertominimizethe
payloadprovidedbytheEWS.AMobileprofileisdeliveredthatisdesignedtoprovideonlythe
necessaryfieldstoCampusMobile.
YoucanviewthedeliveredEntityProfilesforCampusMobile,MobileandMobileCartinthe
EntityProfilecomponent(SetUpSACR>SystemAdministration>Entity>EntityProfile).
FormoreinformationontheEntityRegistryandEntityProfilesseetheCampusCommunity
PeopleBookchapterSettingUpEntityRegistry.
2.5 CONFIGURINGNOTIFICATIONS
2.5.1 FRAMEWORK
TheCampusSolutionsNotificationsFrameworkprovidesaconsistent,extensiblecommunication
mechanismthatCampusSolutionsproductareascanusetoenablenotificationstointerested
parties.NotificationsaredeliveredthroughanotificationsChannelemail,SMS,push,alerts,or
worklistsbasedonatransactionperformedbyaconsumingapplication(calledaConsumer).
OracleCorporationConfidentialForOracleinternaluseonly Page11
EmailandSMSnotificationsmaybereceivedbyusersontheirsmartphones,whetherornot
CampusMobileisinstalled.Pushnotificationsaresenttoausersdeviceonlywhentheyhavethe
CampusMobileappinstalledandassociatedwiththeiruserIDthroughlogin.Alertandworklist
notificationsarenotdisplayedinCampusMobile.
FormoreinformationabouttheNotificationsFramework,refertotheCampusCommunity
PeopleBookchapterWorkingWiththeNotificationsFramework.
2.5.2 CONSUMERS
CampusSolutionsisdeliveredwithanumberofpreconfiguredConsumers,someofwhichhave
beendevelopedconcurrentlywithCampusMobile.TheseareidentifiedwithCampusMobilein
thename:
CampusMobile
CampusMobileGradeEMAIL
CampusMobileGradePUSH
CampusMobileGradeSMS
CampusMobileWLConfirmationEMAIL
CampusMobileWLConfirmationPUSH
CampusMobileWLConfirmationSMS
AllConsumersaredeliveredasinactive.ToenabletheseConsumers,refertotheCampusSelf
ServicePeopleBookchapterSettingUpCampusMobile,SettingUpForNotifications.
YouareabletomodifythedeliveredConsumersorwriteyourown.
ItisimportanttounderstandthatemailandSMSnotificationsdonotrequireimplementationof
CampusMobile,whereaspushnotificationsdo.Conversely,youarenotrequiredtoenablethese
ConsumersinordertoimplementCampusMobile.
2.5.2.1 FinalGradePostingConsumers
TheFinalGradePostingConsumersnotifyastudentwhenthestudentsfinalgradehasbeen
postedforaclass.
Eachstudentwillreceiveanotificationforeveryinstanceofhavingfinalgradespostedforaclass.
2.5.2.2 MovedfromWaitlisttoEnrolledConsumers
TheMovedfromWaitlisttoEnrolledConsumersnotifyastudentwhenthestudenthasbeen
automaticallyenrolledintoaclassfromthewaitlist.
TheMovedfromWaitlisttoEnrolledConsumersrelyonbeingtriggeredbyawaitlistjobthatis
deliveredasinactive.Forinstructionsonhowtoactivatethiswaitlistjob,pleaserefertothe
StudentRecordsPeopleBookchapterUsingEnrollmentRelatedProcessesformoreinformation.
2.5.2.3 CampusMobileConsumer
TheCampusMobileConsumernotifiesastudentwhen:
OracleCorporationConfidentialForOracleinternaluseonly Page12
Anewchecklisthasbeenassignedtothestudent,orifanychecklistitemsonanexisting
checklisthavebeenupdated.(Note:Thisdoesnotincludetheadditionofanewchecklist
itemtoanexistingchecklist.)
Anegativeserviceindicatorhasbeenassignedto,orremovedfrom,astudentsrecordoran
existingnegativeserviceindicatorhasbeenupdated.
Thestudentsenrollmentappointmentisabouttoopen.
TheCampusMobileConsumermakesuseoftheNotificationFrameworksbatchprocessing
capability.Forinformationonhowtoconfigurethebatchprocessingjobs,refertotheCampusSelf
ServicePeopleBookchapterSettingUpCampusMobile,DefiningandSchedulingCampusMobile
BatchNotifications.
Checklistnotificationsaresentforcheckliststhatareaddedorupdatedafterthelastbatch
executiondateandpriortothedateofthebatchprocessexecution.
Serviceindicatornotificationsaresentforchangesoccurringsincethetimeofthelastbatch
processexecution.
Enrollmentappointmentnotificationsaresentforappointmentsthatwillopenthedayafterthe
batchprocessexecution.
Itisexpectedthatbatchprocessingwilloccuronceperday,withthefollowingimplications:
1. Executingthebatchprocessmorethanonceperdaymayleadtoduplicateenrollment
appointmentorchecklistnotifications.
2. Executingthebatchprocesslessthanonceperdaymayleadtomissedenrollment
appointmentnotifications,aswellasdelayedchecklistandserviceindicatornotifications.
3. Notificationsaresenttostudentsatthetimeofbatchprocessexecution.
2.5.3 TEMPLATES
EverynotificationsentbyaConsumerisbasedonaTemplate,whichisusedtocreatethe
notification.Thetemplatedefinesattributesofthenotification,suchasthemessagethatis
deliveredtotheuserusingemailorSMS.
ThefollowingtemplatesaredeliveredforusebytheConsumersmentionedabove:
CHECKLIST_EMAIL
CHECKLIST_SMS
CHECKLIST_UPDATED_PUSH
ENRL_FRM_WL_EMAIL
ENRL_FRM_WL_SMS
ENROLLED_FROM_WAITLIST_PUSH
ENROLLMENT_APPT_EMAIL_OPEN
ENROLLMENT_APPT_OPEN_PUSH
ENROLLMENT_APPT_SMS_OPEN
OracleCorporationConfidentialForOracleinternaluseonly Page13
FINAL_GRADES_POSTED_PUSH
FINAL_GRADES_CHANGED_PUSH
FINAL_GRADES_REMOVED_PUSH
GRD_EMAIL_ADD
GRD_EMAIL_CHNG
GRD_EMAIL_REM
GRD_SMS_ADD
GRD_SMS_CHNG
GRD_SMS_REM
SERVICE_INDICATOR_ASSGND_PUSH
SERVICE_INDICATOR_REMOVED_PUSH
SI_ADD_OR_CHG_EMAIL
SI_ADD_OR_CHG_SMS
SI_DELETE_EMAIL
SI_DELETE_SMS
AllTemplatesaredeliveredasinactive.ToenabletheseTemplates,refertotheCampusSelfService
PeopleBookchapterSettingUpCampusMobile,SettingUpForNotifications.
YouareabletomodifythedeliveredTemplatesorcreateyourown.
2.5.4 PREFERENCES
Everyusermustspecifyanemailaddressforreceivingemailbasednotifications,andacellphone
numberforreceivingSMSbasednotifications.ThiscanbedonethroughCampusSolutionsSelf
Service>PersonalInformation>NotificationsPreferences.
ThispagealsoallowsuserstoenableordisableeitheremailorSMSbasednotifications.
CampusSolutionsSelfServicealsoprovidesapageforadministratorstoconfigurethenotification
preferencesforallusersthroughSelfService>CampusCommunity>PersonalInformation>
Biographical>PersonalAttributes>NotificationsPreferences.
UseofthesepagesisdescribedintheCampusCommunityPeopleBookchapterWorkingWiththe
NotificationsFramework.
SinceuserswillnotreceiveemailorSMSnotificationsuntilsuchinformationhasbeenentered,you
mayconsiderimplementingabatchupdateprocess,orcommunicatingtoallusersthattheyshould
entertheirnotificationpreferences.
Usersmanagethereceiptofpushnotificationswithintheirsmartphonesoperatingsystem.
2.6 MESSAGECATALOGCONSIDERATIONS
CampusMobileusestheEWSforenrollmenttransactionsandtheEWSusesMessageCatalog14641
(refertotheEWSguide)formessagesthataredisplayedtousers.Mostofthedeliveredmessages
OracleCorporationConfidentialForOracleinternaluseonly Page14
areapplicabletoanyuserinterfaceandthusaresuitableforCampusMobile.Howeverthereare
certainmessagesthatshouldbeevaluatedbyeachinstitutiontodeterminetheirapplicabilityto
CampusMobile,sincetheyrefertoCampusSelfServiceUIcomponents.Sincethesemessagesare
currentlyutilizedbybothCampusSelfServiceandCampusMobile,institutionsmaywantto
considermodifyingtheexistingmessagestowardamoregenericwordingthatdoesnotinclude
instructionsspecifictoonedeliveryplatform.Refertothetablebelow.
146417 Class%1isfull.Ifawaitlistisavailable,clickAddAnotherClasstoreturn
tostep1.Clicktheclasslink,selectthewaitlistoptionandresubmityour
request.
1464138 %1.Youmustobtainpermissiontotakethisclass.Ifyouhavea
permissionnumber,clickAddAnotherClass,clicktheclasslink,enterthe
numberandresubmit.
14641223 Class%1anditsalternate(%2)arefull.Ifawaitlistisavailable,clickAdd
AnotherClasstoreturntostep1.Clicktheclasslink,selectthewaitlist
optionandresubmityourrequest.
OracleCorporationConfidentialForOracleinternaluseonly Page15
3. CAMPUSMOBILE
3.1 OVERVIEW
ThefeaturesofCampusMobilearedescribedintheCampusSelfServicePeopleBookchapterUsing
CampusMobile.
CampusMobileisdeliveredasanunsignedMobileApplicationArchive(.maa)file,whichgivesyou
theabilityto:
Configureyourmobileapplication.(refertosection3.3.)
Brandyourmobileapplication.(refertosection3.4.)
Customizeyourmobileapplication.(refertosection3.5.)
Extendyourmobileapplication.(refertosection3.6.)
Manageyourmobileapplication.(refertosection3.7.)
Todothis,youwillneedtouseOraclesJDeveloperIDE,whichisdescribedinsection3.2.
3.2 USINGJDEVELOPER
OracleJDeveloperisanintegrateddevelopmentenvironment(IDE)thatsimplifiesthedevelopment
ofJavabasedenterpriseormobileapplications.JDeveloperisthedevelopmentenvironmentfor
theOracleApplicationDevelopmentFramework(OracleADF).JDeveloper11gR2(11.1.2.4.0)
providessupportfordevelopingADFMobilebasedapplications.
TheADFOracleFusionMiddlewareMobileDeveloper'sGuideforOracleApplication
DevelopmentFramework11gRelease2(11.1.2.4.0),hereinreferredtoastheADFMobile
DevelopersGuide,providesacomprehensiveguidetodevelopingOracleADFbasedmobile
applicationsusingOracleJDeveloper.ThisdocumentcanbelocatedontheOracleTechnology
Network>DeveloperTools>ADFMobile.
Thesubsequentsectionsofthisdocumentprovideinformationabouthowtoconfigure,brandand
customizethedeliveredCampusMobileapplicationarchiveusingJDeveloper,makingreferenceto
applicablesectionswithintheADFMobileDevelopersGuide.
3.2.1 INSTALLINGANDSETTINGUPJDEVELOPER
Navigatetohttp://www.oracle.com/technetwork/developer-tools/jdev/downloads/index.html,
thendownloadandinstallOracleJDeveloper11gR2(11.1.2.4.0).ForadditionalJDeveloperand
ADFMobilereleaselevelrequirements,aswellasotherrequirementsspecifictoaCampusMobile
releaseversion,pleaserefertoMyOracleSupportdocument1557671.1.
Followchapter3oftheADFMobileDeveloper'sGuidetosetupJDeveloperandtherequired
developmenttoolsforiOSorAndroid(orboth).
OracleCorporationConfidentialForOracleinternaluseonly Page16
3.2.2 CREATINGANEWMOBILEAPPLICATIONFROMTHEDELIVEREDMOBILEAPPLICATION
ARCHIVEFILE
InJDeveloper,selectNewApplication>MobileApplicationfromArchiveFile,thenbrowsetothe
CampusMobile.maafilecontainedwithinyourCampusSolutionsreleasefolder.Youwillnowsee
anapplicationcalledCampusMobileinyourApplicationNavigator,similartothescreenshotbelow.
Figure31ApplicationNavigator
Chapter4oftheADFMobileDevelopersGuideprovidesanoverviewofthestructureofthemobile
applicationthatyouhavejustcreated,includingadescriptionoftheimportantfilesandhowto
navigatetheapplicationstructurewithinJDeveloper.Bearinmindthatthedescriptioninchapter4
oftheADFMobileDevelopersGuideisrelatedtoanapplicationthatiscreatedfromscratch.For
furtherinformationaboutwhathappenswhenyoucreateanapplicationfromamobileapplication
archivefile,refertosection17.7.2oftheADFMobileDevelopersGuide.
Asdelivered,theCampusMobileapplicationhasOraclebrandingandsomedummyconfigurations.
Thesubsequentchaptersofthisguidedescribehowyoucanconfigure,brand,customizeandeven
extendyourmobileapplication.
Youmaywanttodeployandtestyourmobileapplicationatthispointbeforeimplementingany
brandingorcustomizations.Beforedoingso,youmustataminimumconfigurethewebservice
endpointsandensurethatyoursecuritymodelisreflectedwithintheappconfiguration(referto
section3.3).Havingdonethis,youcandeploytoaninstalledemulatorortoaconnecteddevice
(refertosection3.7.2).
3.3 CONFIGURINGYOURMOBILEAPPLICATION
3.3.1 WEBSERVICES
AllwebserviceendpointsaredefinedintheApplication Resources > Descriptors > ADF
META-INF > connections.xmlfile.Withinthisfile,youmustreplaceeachinstanceofthestring
hostnamewiththecorrectpathtotheserverthathostsyourwebservices,suchas
myserver.myinstitution.edu.
OracleCorporationConfidentialForOracleinternaluseonly Page17
Toensuresecurecommunicationstoandfromthemobiledevice,itisimportanttousesecuredweb
services(i.e.httpsandnothttp)thathaveanSSLcertificatesignedbyacertifiedCA(sinceaself
signedcertificatewillnotwork).
Havingconfiguredyourmobileapplicationthisway,yourmobileapplicationwillconnecttothe
webserviceendpointsthatyouhavedefined.Ifforanyreasononeormoreoftheseendpoints
change,youwillneedtoreleaseanewversionofyourmobileapplication.
3.3.2 SECURITY
Chapter18oftheADFMobileDevelopersGuideprovidesanoverviewofthesecurityframework
withinADFMobileanddescribeshowtoconfigurethesecuritymechanismswithinanADFMobile
application.
3.3.2.1 LoginPage
CampusMobileisdeliveredtoyouwithacustomloginpage,describedbythefile
ApplicationController > Web Content > login.html.ItisasimpleHTMLpagethat
providesusernameandpasswordtextentryboxes,aLoginbuttonandaRemembermecheckbox.
Forinformationaboutcustomizingthedeliveredloginpage,refertosection3.5.1.
3.3.2.2 Authentication
CampusMobileauthenticatesagainstthedeliveredauthenticationRESTwebservicethatis
describedinsection2.3.1.Thelocationofthiswebserviceisdefinedintheconnections.xmlfile,
withinthenodeLoginConnection,aselements<login>and<logout>.
Youmustdefinethecorrectwebserviceendpointintheseelements.
Followingsuccessfulauthentication,theuserscredentialsarestoredintheencryptedondevice
credentialsstore.CampusMobileinjectstheuserscredentialsintotheheaderofsubsequentweb
servicecalls.
3.3.2.3 Authorization
MostfeatureswithinCampusMobileareconstrainedforaccessbythePermissionList
HCCPCSSA3000.ThisisdefinedintheView Controller > Application Sources > META-
INF > adfmf-feature.xmlfile.IfyouwanttomakeuseofadifferentPermissionList,perhaps
evenusingdifferentpermissionliststoconstrainaccesstodifferentfeatures,changethevaluefor
eachfeatureinthisfile.
CampusMobilecallsthedeliveredauthorizationRESTwebservicethatisdescribedinsection2.3.2.
Thelocationofthiswebserviceisdefinedintheconnections.xmlfile,withinthenode
LoginConnection,aselement<accessControl>.
Youmustdefinethecorrectwebserviceendpointinthiselement.
3.3.2.4 Timeouts
OracleCorporationConfidentialForOracleinternaluseonly Page18
ADFMobileprovidesforbothanIdleTimeoutandaSessionTimeout,asdefinedwithinbythe
<idleTimeout>and<sessionTimeout>elements,respectively,withintheLoginConnection
nodeofconnections.xml.
TheIdleTimeoutdefinesthetimeforanapplicationfeaturetoremainidlebeforetheusermustre
authenticate.Afterthisperiodexpires,theuseristimedoutofalltheapplicationfeaturesthatare
securedbytheloginconnection.Inthissituation,theuserispromptedwiththeloginpagewhen
theyaccessthefeatureagain.IftheSessionTimeouthasnotyetoccurred,theuserscredentialsare
authenticatedagainstthelocalcredentialstore(otherwisetheuserscredentialswillbe
authenticatedagainsttheauthenticationservice).ThedefaultvalueoftheIdleTimeoutis30
minutes.
TheSessionTimeoutdefinesthetimethatausercanremainloggedintoanapplicationfeature.
Afterthisperiodexpires,theuserispromptedwiththeloginpageandtheuserscredentialsare
authenticatedagainsttheauthenticationservice.Thedefaultvalueis8hours.
3.3.3 PROPERTIES
Thereisasinglepropertiesfile(CampusSettings.properties)thatholdsconfiguration
propertiesusedwithintheapp:
GCM_SENDER_IDTomakeuseofpushnotificationstoAndroiddevices,youmustcreatea
GoogleAPIproject(refertohttp://developer.android.com/google/gcm/gs.html).You
mustspecifytheprojectnumberhere,whichwillbeusedtovalidatetheGCMsenderID
duringthedeviceregistrationprocessforGCM.
HOLDS_SERVICE_DURATIONToavoidloadingtheusershold(negativeserviceindicator)
dataeverytimetheuserviewsthespringboard,thedataisloadedinabackgroundthread
thatiscalledatregularintervals.Thisvaluespecifiesthenumberofminutesinbetween
eachreloadoftheusersholddata.Thedefaultvalueis5(minutes).
3.3.4 CURRENCYSYMBOLS
CampusSolutionssendsmonetaryamountstoCampusMobilewithanassociatedcurrencycode,
suchasUSDorAUD.CampusMobileconvertsthecurrencycodeintoacurrentsymbolbasedon
whatisdefinedintheresourcebundle(ViewControllerBundle.xlf).Youshouldensurethatall
currenciesyouexpecttobedisplayedinyourappareconfiguredintheresourcebundle.
3.4 BRANDINGYOURMOBILEAPPLICATION
BeforedistributingtheCampusMobiletoyourstudents,youwillwanttobranditasyourown
application,consideringattributessuchas:
Theapplicationid,nameandicon
Yourcompanyorinstitutionlogoandcolorscheme
Informationabouttheapp
AppURLscheme
OracleCorporationConfidentialForOracleinternaluseonly Page19
Versioningoftheapp.
ThesechangesaremadewithinJDeveloperandaredescribedinthesectionsbelow.
3.4.1 CHANGINGTHEAPPLICATIONID
BothAndroidandiOSdevelopmentguidelinesrequirethateveryapphasanidentifier(called
packageforAndroidappsandBundleIDforiOSapps)thatisuniqueacrossallapplicationsin
theAppleAppStore,oranapplicationmarketplace,asappropriate.Therestrictionsonthis
identifieraresimilar,butslightlydifferent,forthetwooperatingsystems.Thisidentifierisnever
displayedtoyourendusersandyoucansetitforeachoperatingsystemwithintheJDeveloper
deploymentdescriptors,usingtheApplication Bundle Idattribute.Refertosection3.7.2for
moreinformationaboutdeploymentdescriptors.
However,sincethenamingconventionsaresimilar,youmayprefertousethesameunique
identifierforbothAndroidandiOS.ThiscanbeachievedbysettingtheIdattributeintheadfmf-
application.xmlfile.Atdeploymenttime,ifyouhavenotenteredaspecificvaluefor
Application Bundle Idwithinadeploymentdescriptor,thisattributewillbereadfromadfmf-
application.xml.
CampusMobileisdeliveredwiththeIdattributesettocom.oraclecorp.internal.CampusMobile.
Youshouldchangethistosomethinglikeedu.myinstitution.MyApp,whichmustmatchthe
provisioningprofileissuedbyApple(foriPhoneappdevelopment).
Bydefault,thenameofthedeliveredpackagefile(forexample,MyApp.apkorMyApp.ipa)willbe
derivedfromtheIdattributespecifiedinadfmf-application.xml.Youcanoverridethisinthe
deploymentdescriptors.
3.4.2 CHANGINGTHEAPPLICATIONNAME
Theconfigurationfileadfmf-application.xmlholdsthevalueforthenameoftheapplication
thatwillbedisplayedtousersintheAppleAppStore(oranapplicationmarketplace)andonthe
usersdevices.
Asdelivered,theapplicationnameisreadfromtheresourcebundleCampusMobileBundle.xlf,in
whichitissettoCampus.Touseyourownname,changethevalueofAPP_NAMEwithinthisfileto
thenameyouwanttouse.
Thereasonfordefiningtheapplicationnameintheresourcebundleistoallowforlocalizationof
thename.Youcanlearnmoreaboutlocalizationinsection3.5.5.
3.4.3 CHANGINGTHEAPPLICATIONICON
BothAndroidandiOShavedifferentrequirementsfortheappicon.Youshouldreadtheguidelines
(AndroidDevelopers>Design>IconographyandiOSDeveloperLibrary>CustomIconandImage
CreationGuidelines>AppIcon)beforedevelopingyourownappicon.Bothoperatingsystems
OracleCorporationConfidentialForOracleinternaluseonly Page20
requirethedefinitionoficonimagefilesfordifferentformfactors,whichwillbescaledaccordingly
onuserdevices.
ThedeliveredCampusMobileappiconhastwoversions,oneforAndroidandoneforiOS,both
114x114pixels.WhilstADFMobilefacilitatesthedefinitionofdifferentsizedimagefilesfor
differentdeviceformfactors,thesame114x114imagefilehasbeenreplicatedwithdifferent
filenamesforeachoperatingsystem.Theseimagefilesarelocatedandroidandiosfoldersunder
Application Resources > Resources.Onceyouhavedevelopedyourownappicon,youcan
replacethedeliveredimagefileswithyourown,usingthesamefilenames.
BeawarethatApplealsorequiresa512x512imagefileforusewithiniTunes.
NotethatADFMobileallowsfortheiOSglosseffectontheicontobeturnedonoroff.Thiscanbe
configuredwithintheiOSdeploymentprofileunderApplication > Application Properties
> Deployment > IOS_MOBILE_NATIVE_archive > Edit > iOS Options > Application
Images.Asdelivered,itisturnedoff.
3.4.4 INSERTINGYOURLOGO
Asdelivered,theOraclelogoappearsonthesplashscreenandtheaboutpage.
Thesplashscreenisonewholeimage,forwhichthereexistsmultipleimagefilesfordifferent
deviceformfactors.Theseimagefilesarelocatedinthesamefoldersastheappicons,under
Application Resources > Resources.Onceyouhavedevelopedyourownsplashscreen
image,youcanreplacethedeliveredimagefileswithyourown.
Thelogousedontheaboutpageisanimagefile(logo.png)storedwithintheViewController
> Web Content > resources > images.Youcanreplacetheexistingfilewithyourownor
relocateitonthepageusingthe.spacerAboutentryinthecustom.cssstylesheet.
AsmallversionoftheOraclelogoisusedastheHomebuttonthat,whentapped,returnstheuserto
thespringboard.Thisisstoredasanimagefile(home.pngwithinViewController > Web
Content > resources > icons)whichyoucanreplacewithyourown.Youmaywanttousea
smallversionofyourownlogotoensureaconsistentbrandingthroughouttheapp.Otherwiseyou
maywanttouseagenerichomeicon.
3.4.5 INSERTINGYOURCOLORSCHEME
Theoverallvisualcolorschemepresentedthroughouttheappisdeterminedbytheskinreferenced
withinadfmf-config.xmlandafewbackgroundimages.TheuseofCascadingStyleSheet(CSS)
skinsensuresthatallapplicationcomponentsshareaconsistentlookandfeel.
Thedeliveredskin(campusMobile)isanextensionofthedefaultskinprovidedbyADFMobile,
whichincludesapredominantlyblackpagebackground,withblackheaderandfooter,alongwith
standardiOScoloringforpagecomponents,suchastables,listsandbuttons.
OracleCorporationConfidentialForOracleinternaluseonly Page21
Theskinextensionsaredefinedincommon.cssandcustom.css,whicharelocatedin
ViewController > Web Content > resources > styles.Theyareregisteredintheadfmf-
skins.xmlfile.
Youmaywanttochangetheskinoftheappsothatitusesyourinstitutionscolorsandworkswell
togetherwithyourlogo.Todothis,youcaneitherextendthedeliveredskinorinsertyourown
skin.Chapter5.11oftheADFMobileDevelopersGuidedescribeshowtodothis.
Notethattheloginpage(login.html)isdisplayedpriortotheinitializationoftheADFMobile
frameworkandisthereforenotaffectedbytheskin.Ifyouchangetheskinoftheapp,youshould
alsoconsiderchangingtheappearanceoftheloginpage.
Thespringboardandaboutpagesmakeuseofbackgroundimagesthataredifferenttotheone
definedintheskin.Portraitandlandscapeversionsoftheseimagefilesarelocatedin
ViewController > Web Content > resources > images.Youcanreplacetheexistingfiles
withyourown.Oneachofthespringboardandaboutpagesstretchthebackgroundimagetofit
theusersdevice.Theyalsodefinethelocationofthelogoonthepage.Youcanmodifythesepages
(springboard.amxandabout.amxwithinViewController > Web Content >
oracle.cs.cm.view.springboard)ifyourlogowouldbebettersuitedtoadifferentlocationon
thenewbackgroundimage.
3.4.6 INSERTINGYOURAPPINFO
Asdelivered,theaboutpagedisplaysabackgroundimage,alogo,theappnameandversion
number,anOraclecopyrightnotice,andbuildnumber(infineprint).Youshouldchangethe
copyrightnoticetoyourownmessagebymodifyingthevalueforCOPYRIGHT_LBLwiththe
resourcebundleViewControllerBundle.xlf.Youmaywanttoremovethebuildnumber,which
denotestheunderlyingCampusMobilebuild.
Ifyouwanttomakemoreextensivechangestotheaboutpage,youcouldmodifythedeliveredfile
(about.amxinViewController > Web Content > oracle.cs.cm.view.springboard),or
youcouldwriteyouownpage.Thiscouldbeaconvenientplacetodisplayanyenduserlicense
agreement.Ifyouwriteyourown,youwillneedtoupdatethereferencewithinspringboard-
task-flow.xmlinthesamelocation.
3.4.7 INSERTINGYOURAPPURLSCHEME
Withthereleaseofv1.1patch4,ADFMobilenowsupportsthelaunchofanADFMobilebasedapp
usingaURLscheme.ThismeansthatyourappcanbelaunchedfromanotherappusingaURL.To
facilitatethis,youmustdefinetheURLschemetobeusedwithintheadmf-application.xml
configurationfile.Moreinformationcanbefoundinsection5.4oftheADFMobileDevelopers
Guide.
3.4.8 MAINTAININGTHEAPPVERSION
OracleCorporationConfidentialForOracleinternaluseonly Page22
Theappversionisdefinedinadfmf-application.xml.Asdelivered,thiswillindicatetheversion
ofCampusMobile,butsincethisversionisdisplayedtoyourusers,youshouldmaintainyourown
appversion.
Althoughyoucanenteranytextinthisfield,sinceiOSonlyallowstheappversiontocontainoneor
moreperiodseparatedintegers(forexample,youcanspecify10.2.5,butnotV1),youshould
followtheiOSapprovedformattoensurecompatibilityacrossbothAndroidandiOS.
IfyouwanttouseadifferentappversiononAndroid,youcanconfiguretheVersion Name
attributeoftheAndroiddeploymentdescriptorseparately.NotethattheAndroiddeployment
descriptoralsocontainsaVersion Codeattribute,whichisnotdisplayedtousersandisusedto
determinewhetheroneversionofyourappismorerecentthananother.
NotethattheDescriptionandVendorfieldsinadfmf-application.xmlcanbeleftempty,asthey
arenotused.
3.5 CUSTOMIZINGYOURMOBILEAPPLICATION
3.5.1 CUSTOMIZINGTHELOGINPAGE
Asdelivered,CampusMobilecontainsaloginpage,login.html,locatedin
ApplicationController > Web Content.Youmaywanttomodifythelookandfeelofthispage
toincludeyourlogooradditionalinformationforyourusers.Todothis,youshouldcreateanew
HTMLpage(perhapsacopyofthedeliveredone),whichshouldbereferencedasthecustomlogin
pagewithinadfmf-application.xml.
3.5.2 CUSTOMIZINGTHESPRINGBOARDANDNAVIGATIONBAR
Asdelivered,CampusMobilecontainsaspringboardandanavigationbar.
ADFMobileprovidesyouwiththeabilitytocustomizethefunctionalityofthespringboardand
navigationbarusingJDeveloper.Forexample,youcould
Turnoffthespringboardornavigationbar
Changethewaythespringboardisdisplayed
Createyourownspringboard
Displayatogglebuttonthatenablestheusertodisplaythespringboardornavigationbar
Chapter5.4oftheADFMobileDevelopersGuidedescribeshowtomakesuchcustomizations.
3.5.3 CUSTOMIZINGTHEAPPFEATURES
EveryADFMobileappcontainsoneormorefeatures.Afeaturemaybeaccesseddirectlyfromthe
springboardornavigationbar,oritmaybeaccessedfromanotherfeature.
Asdelivered,CampusMobilecontainsthefollowingfeatures:
Schedule
OracleCorporationConfidentialForOracleinternaluseonly Page23
Search
Cart
Grades
Profile
Finances
TodoList
Springboard(usedtoprovideacustomspringboardimplementation)
Redirector(usedtodisplaythespringboardiftheusershakesthephone)
Map(usedtoprovideacustommapimplementation)
Thefirstseveninthelistaredisplayedonthespringboardandnavigationbar.Theothersarenot.
ADFMobileprovidesyouwiththeabilitytocustomizethedisplayandfunctionalityofthedelivered
featuresusingJDeveloper.Forexample,youcould
Removefeaturesfrom(oraddto)thespringboardornavigationbar
Changetheorderofthefeaturesdisplayedonthespringboardandnavigationbar
Changethenamesandiconsoffeatures(refertosection3.5.5)
Changefeaturesecurityandconstraints
Changefeaturelifecycleandtaskflows
Chapter5.5oftheADFMobileDevelopersGuidedescribeshowtomakesuchcustomizations.
NotethatthedeliveredfunctionalityofCampusMobileisdefinedbythefeatures,sochanging
attributessuchassecurity,constraints,lifecycleortaskflowsisnotrecommended.
3.5.4 MAPSINTEGRATION
ThedeliveredCampusMobileapplicationhasaMapfeaturethatenablesuserstodisplaythe
locationofaclassroomonamapiftheclassroomsbuildinglocationhasbeenenteredintoCampus
Solutions.
ADFMobilesupportstheuseofOracleMapsorGoogleMaps.Asdelivered,CampusMobileuses
OracleMapsandsupportsthedisplayoftheclassroomlocationandtheuserscurrentlocation.
IfyouchangetoGoogleMaps,youruserswillbeabletoaccessGoogleStreetViewandadditional
layers,suchassatellite.Itwouldalsobepossibletoextendtheapptoprovideadditional
information,suchasdirections.
ToconfiguretheapptouseGoogleMaps,youmustmodifyadf-config.xmlasfollows:
OracleCorporationConfidentialForOracleinternaluseonly Page24
Refertosection3.6.1fordetailsofhowtoextendtheapptomakeuseofadditionalGoogleMaps
functionality.
3.5.5 ICONS,LABELS,RESOURCEBUNDLESANDLOCALIZATION
AlliconsandlabelsdisplayedwithinCampusMobilearereferencedwithintheresourcebundle
ViewController.xlf.Thisapproachnotonlyenablesyoutoeasilyreplaceaniconorlabelwith
yourown,butalsofacilitateslocalization.Inthisway,youcansupportmorethanonelocalewithin
theapp.Refertosection5.10oftheADFMobileDevelopersGuideformoreinformation.
CampusMobiledeterminestheresourcebundletobeusedbasedonthelocalespecifiedinthe
devicessettings.
Ifyoudontneedtosupportmultiplelocaleswithintheapp,youcansimplymakechangestolabels
directlywithinViewController.xlfandyoucanreplacetheimagefilesdirectlyinthefolder
ViewController > Web Content > resources > icons.
Youshouldreadtheguidelines(AndroidDevelopers>Design>IconographyandiOSDeveloper
Library>CustomIconandImageCreationGuidelines)beforedevelopingtheiconsettobeusedin
yourmobileapplication.
3.5.6 CUSTOMIZINGTHEGENERICERRORMESSAGE
IfCampusMobilereceivesaninvalidwebserviceresponse(ornoresponsewithinthetimeout
period),agenericerrormessageisdisplayedtotheuser.Asdelivered,thiserrormessagestates
ConnectionError.Pleasetryagain.Iftheproblempersists,pleasecontactyourIThelpdesk.You
maywanttocustomizethismessagebyincludingaphonenumberoremailaddressthattheycan
contactinsuchsituations.Todothis,modifythevalueforthekeyCONNECTION_ERROR_LABELin
ViewController.xlf.
3.5.7 CUSTOMIZINGPAGESWITHINTHEAPP
ADFMobileAMXisasubframeworkwithinADFMobilethatprovidesasetofUIcomponentsthat
enableyoutocreateanapplicationfeaturewhosebehaviorisidenticalonallsupportedplatforms
andprovidesaccesstodevicefunctionality.JDeveloperallowsyoutodragthesecomponentsinto
aneditorfromtheComponentpaletteorfromtheDataControlpalette.JDeveloperalsoallowsyou
tocreatetaskflowsthatdefinethenavigationbetweenADFMobileAMXpages.
OracleCorporationConfidentialForOracleinternaluseonly Page25
EachpagewithinCampusMobileisdefinedbyanAMXfile,suchasgrades.amxfortheGrades
feature.UsingJDeveloper,youhavealotofflexibilityforchangingthelayoutofanypagewithinthe
app.
Beforemakingsuchchanges,pleasereadsections6,7and8oftheADFMobileDevelopersGuideto
ensurethatyouhaveathoroughunderstandingofAMX.
Forinformationaboutchangingthedatadisplayedonapagewithintheapp,refertosection3.6.2.
Itisnotrecommendedtochangethetaskflowswithintheapp,otherthantoupdatethepage
namesifyoucustomizepages.Otherwiseyoumaybreakthedesignedflowoftheapp,potentially
introducingbugsandevenleadingtodataintegrityissues.
3.5.8 CUSTOMIZINGTHEANDROIDAPPPERMISSIONS
OniOS,whentheappattemptstoaccessadeviceservice(suchasacameraorcontacts),theuseris
promptedtoprovidepermission.
OnAndroid,therequireddeviceaccesspermissionsfortheapplicationcannotbeautomatically
determined.Theuserispromptedduringinstallationtoprovidepermissiontoaccesstherequired
deviceservices.Allrequiredpermissionsarelistedinafile(AndroidManifest.xml)thatis
deliveredwithintheJDeveloperADFMobileFrameworkextensionandcopiedintotheAndroidapp
whenJDeveloperbuildsit.
Tomodifythislistofpermissions,followthesesteps:
1. Unzip MW_HOME/jdeveloper/jdev/extensions/oracle.adf.mobile/Android/Oracl
e_ADFmf_Framework.zip.
2. Edit Android/template/AndroidManifestTemplate.xml, and remove the permissions
that are not required by the application.
3. Zip it back up, ensuring the zip file has the exact same directory structure as the original
zip file. Any extra layers of directory in the zip file will result in failure.
4. Restart JDeveloper and deploy your app.
3.6 EXTENDINGYOURMOBILEAPPLICATION
3.6.1 PROVIDINGADDITIONALMAPFUNCTIONALITY
IfyouchangetousingGoogleMaps(refertosection3.5.4)andwanttomakeuseofotherGoogle
MapsAPIfeatures,suchasprovidingdirections,youmustwriteyourownJavaScriptand
incorporateitintotheshow-location.amxpage(refertosection3.5.7regardingcustomizations
todeliveredAMXpages).
3.6.2 CHANGINGTHEDISPLAYEDDATA
InadditiontochangingthelayoutofadeliveredAMXpage(refertosection3.5.7regarding
customizationstodeliveredAMXpages),youmaywanttoalterthedatathatisdisplayedona
deliveredAMXpage.
OracleCorporationConfidentialForOracleinternaluseonly Page26
Toremovedata,simplyremovethecomponentthatdisplaysthedata.Thismaybeusefulifyoudo
notmakeuseofaparticularfieldduringatransactionandthereforeyoudontwanttoconfuseyour
usersbydisplayingthefield.
WithintheAMXpagedefinition,youhaveflexibilityabouthowdataisdisplayed.Forexample,you
maywanttodisplayGPAtoonly1decimalplaceinsteadof3.
Inordertodisplayadditionaldataonapage,youmustfirstensurethatthedataisdeliveredtothe
app.Thismaybeassimpleasalteringthedeliveredentityprofilefortherelevantwebservice
(refertotheEntityRegistrychapter(s)oftheCampusCommunityPeopleBook).Oryoumayneed
tocustomizethewebservice.
ToensurethatthedatainthewebserviceresponseismadeavailabletotherelevantAMXpage(s)
fordisplay,youneedtowriteadatacontrol.ThedeliveredDataControlscannotbemodifiedor
extended.Formoreinformationaboutwebservicedatacontrols,refertochapters8and9ofthe
ADFMobileDevelopersGuide.
Onceyouhavecreatedthewebservicedatacontrol,youcanthenupdateyourAMXpagetodisplay
theadditionaldata.
3.6.3 PROVIDINGADDITIONALFEATURES
OneofthebenefitsofusingOracleADFMobiletechnologyistheeasewithwhichyoucanextend
CampusMobilebyaddingnewfeatures.Asdescribedinsection1.3,eachofAMX,LocalHTMLand
RemoteHTMLfeaturesmaycoexistwithinanADFMobileapplication,whichmeansthatyoucan
leverageexistingwebpagesandwebserviceswithouthavingtolearnADFMobileAMX.
Forexample,ifyoualreadyhaveawebpagethathasbeendesignedforthemobilebrowser(or
evenifithasnt),youcanveryeasilyaddaRemoteHTMLfeaturethatdisplaysthewebpagewithin
CampusMobile.Formoreinformationonthis,readchapter12oftheADFMobileDevelopers
Guide.
Alternatively,ifyouhaveexistingwebservices,youcaneasilyaddaLocalHTMLfeature,writing
yourownHTMLcode(inJDeveloperornot)thatcallsthewebservices.Suchpagesmaystillaccess
thedevicefunctionality.Formoreinformationrefertosection5.9.1oftheADFMobileDevelopers
Guide.
3.7 MANAGINGYOURMOBILEAPPLICATION
3.7.1 DEVELOPINGYOURMOBILEAPPLICATION
Beforemakinganychangestothedeliveredapp,youshouldconsiderformalizingyour
developmentprocesses.Inparticular,youshouldmaintainarecordofallthechangessothatthey
canbereappliedwhenyouupgradetolaterrevisionsofCampusMobile.
Atypicaldevelopmentlifecycleincludes:
OracleCorporationConfidentialForOracleinternaluseonly Page27
Requirementsgatheringanddefinition
Design
Implementation(refertosections3.2to3.6)
Deployment(refertosection3.7.2)
Testinganddebugging(refertosection3.7.3)
Distribution(refertosection3.7.4)
Support(refertosection3.7.5)
3.7.2 DEPLOYINGYOURMOBILEAPPLICATION
Chapter17oftheADFMobileDevelopersGuidedescribesindetailtheentiredeploymentprocess.
ThedeliveredCampusMobileapplicationhasadefaultAndroiddeploymentprofileandaniOS
defaultdeploymentprofile.Youcanmakeuseoftheseforyourtestingandalsofortheeventual
creationofmobileapplicationfilesfordistributiontoyourstudents.Otherwiseyoucanmodify
theseorcreatenewdeploymentprofilestodeploywithdifferentattributes.
ThedelivereddeploymentprofilesareconfiguredtodeploytheappinReleasemodeandinthecase
ofiOS,asaniPhoneapp(whichmeansthattheappcanbedeployedtoaniPadbutwilldisplayas
iPhonesize).NotethatchangingtoDebugmodewillcauseyourmobileapplicationtorunmuch
slower.ChangingtoaniPhone/iPadappwillcausetheapptostretchtheUIifdeployedtoaniPad
(forwhichitisnotdesigned).Ofcourse,changingtoaniPadappwillprecludedeploymentofthe
apptoaniPhoneforyourusers.
Thedelivereddeploymentprofilesareunsigned.Youmustconfigurethedeploymentprofileswith
yoursigningproperties.ForAndroid,refertosection17.2.3.4oftheADFMobileDevelopersGuide.
ForiOS,refertosections17.2.4.2and17.4.4oftheADFMobileDevelopersGuide.
ToenableyourapptoregisterforpushnotificationsoniOSdevices,youmustensurethatyour
productionprovisioningprofileincludestheentitlementspecifictopushnotifications.Thesameis
trueforyourtestingprovisioningprofile,ifyouwanttotestpushnotifications.Notethatthiscan
onlybedonewithadevice,notusingtheiOSsimulator.
ToenableyourapptoregisterforpushnotificationsonAndroiddevices,youmustcreateaGoogle
APIprojectandrecordtheprojectnumberintheCampusSettings.propertiesconfigurationfile,
asdescribedinsection3.3.3.
Todeployyourmobileapplicationfortesting,selectApplication>Deploy,thenselecteitherthe
AndroidoriOSdeploymentprofile.Youmustthenselecttodeploytoaconnecteddeviceoran
installedemulator.Oncethedeploymenthasfinished,youwillbeabletotestyourmobile
application.
NotethatthefirstlaunchoftheapponAndroidmaytakeawhileasitunpackstheapp.
3.7.3 TESTINGANDDEBUGGINGYOURMOBILEAPPLICATION
OracleCorporationConfidentialForOracleinternaluseonly Page28
Moreinformationabouttestinganddebuggingyourmobileapplicationcanbefoundinchapter19
oftheADFMobileDevelopersGuide.
3.7.3.1 Logging
Asdelivered,CampusMobileonlylogsSEVEREmessages.Thisisrecommendedforyour
productionreleaseofyourmobileapplication.However,fordebuggingpurposes,youcanlower
themessageseverityforlogging.Todothis,modifythevaluefor.levelinthefileApplication
Resources > Descriptors > META-INF > logging.properties.Theacceptedseverity
valuesare:SEVERE,WARNING,INFO,FINE,FINER,FINEST.Formoreinformationabout
configurationoflogging,refertosection19.4intheADFMobileDevelopersGuide.
Logfilesarewrittentothefollowinglocations:
AndroidDevice:/sdcard
AndroidEmulator:DDMS>/mnt/sdcard
iOSDevice:Application>Documents/logs
iOSSimulator:MacConsole>Applications>Utilities>Console
3.7.3.2 Debugging
Debuggingpropertiesarelocatedincvm.properties.Inparticular,toenableJavadebugging,the
parameterjava.debug.enabledmustbesettotrue.
Toenableremotedebugging,theappshouldbedeployedinDebugmode.
3.7.3.3 Certificates
JDevelopercreatesafilewithintheApplication Resources > Securityfolderthatidentifiesa
setofcertificatesfromwellknownandtrustedsources.IfthecertificateusedbyyourSSLweb
servicesisnotcontainedwithinthisset,ornotsignedbyaCAwithinthisset,youmaynoticean
error'Certificatewasissuedbyanunrecognizedentity'inthelogfile.Refertosection18.5ofthe
ADFMobileDeveloper'sGuideforinformationonhowtoaddyourcertificatetothetrustedset.
3.7.4 DISTRIBUTINGYOURMOBILEAPPLICATION
Deployingtheapplicationtotheproductionenvironmenttypicallyinvolvespublishingtoan
enterpriseserver,theAppleAppStore,oranapplicationmarketplace,suchasGooglePlay.After
youpublishtheADFMobileapplication,enduserscandownloadittotheirmobiledevices.
Refertosection17.3.3oftheADFMobileDevelopersGuideforinformationaboutpublishingan
Androidapplication.Refertosection17.4.5oftheADFMobileDevelopersGuideforinformation
aboutpublishinganiOSapplication.
3.7.5 SUPPORTINGYOURMOBILEAPPLICATION
Youshouldconsiderthesupportandmaintenanceramificationsofdeliveringamobileapplication
toyourstudents.
OracleCorporationConfidentialForOracleinternaluseonly Page29
Youmaywanttosetupasupportphonenumberoremail,whichcouldbereferencedinthemobile
applicationsaboutpage(refertosection3.4.6)orgenericerrormessage(refertosection3.5.6).
Youmayconsiderprovidingamechanismforstudentstogivefeedbackabouttheapp,whichcould
beusedtoinformadditionaldevelopmentofyourmobileapplication.
OracleCorporationConfidentialForOracleinternaluseonly Page30