Vous êtes sur la page 1sur 26

CAMPUSMOBILEIMPLEMENTATIONGUIDE

TableofContents
1. Background......................................................................................................................................................................................4 1.1 1.2 1.3 2. 2.1 2.2 2.3 Introduction...........................................................................................................................................................................4 OverviewofCampusMobile............................................................................................................................................4 OverviewofADFMobile ....................................................................................................................................................5 CampusSolutionsConfiguration...................................................................................................................................9 IntegrationBrokerConfiguration.................................................................................................................................9 SecurityConfiguration.......................................................................................................................................................9 AuthenticationService.............................................................................................................................................9 AuthorizationService.............................................................................................................................................10

CampusSolutions..........................................................................................................................................................................9

2.3.1 2.3.2 2.4

AbouttheEntityRegistry...............................................................................................................................................10 EntityProfiles............................................................................................................................................................10

2.4.1 2.5

ConfiguringNotifications................................................................................................................................................10 Framework..................................................................................................................................................................10 Consumers...................................................................................................................................................................11 Templates....................................................................................................................................................................11 Preferences.................................................................................................................................................................13

2.5.1 2.5.2 2.5.3 2.5.4 2.6 3. 3.1 3.2

MessageCatalogConsiderations..................................................................................................................................13 Overview................................................................................................................................................................................14 UsingJDeveloper................................................................................................................................................................14 InstallingandSettingupJDeveloper................................................................................................................14 CreatingaNewMobileApplicationFromtheDeliveredMobileApplicationArchiveFile........15

CampusMobile.............................................................................................................................................................................14

3.2.1 3.2.2 3.3

ConfiguringYourMobileApplication........................................................................................................................15 WebServices..............................................................................................................................................................15 Security.........................................................................................................................................................................16

3.3.1 3.3.2 3.4

BrandingYourMobileApplication.............................................................................................................................17 ChangingtheApplicationID................................................................................................................................17

3.4.1

3.4.2 3.4.3 3.4.4 3.4.5 3.4.6 3.4.7 3.5

ChangingtheApplicationName.........................................................................................................................18 ChangingtheApplicationIcon............................................................................................................................18 InsertingYourLogo.................................................................................................................................................18 InsertingYourColorScheme...............................................................................................................................19 InsertingYourAppInfo.........................................................................................................................................20 MaintainingTheAppVersion..............................................................................................................................20

CustomizingYourMobileApplication.......................................................................................................................20 CustomizingtheLoginPage.................................................................................................................................20 CustomizingtheSpringboardandNavigationBar.....................................................................................20 CustomizingtheAppFeatures............................................................................................................................21 MapsIntegration .......................................................................................................................................................21 Icons,Labels,ResourceBundlesandLocalization......................................................................................22 CustomizingtheGenericErrorMessage.........................................................................................................22 CustomizingPagesWithintheApp...................................................................................................................23

3.5.1 3.5.2 3.5.3 3.5.4 3.5.5 3.5.6 3.5.7 3.6

ExtendingYourMobileApplication............................................................................................................................23 ProvidingAdditionalMapFunctionality.........................................................................................................23 ChangingtheDisplayedData...............................................................................................................................23 ProvidingAdditionalfeatures.............................................................................................................................24

3.6.1 3.6.2 3.6.3 3.7

ManagingYourMobileApplication............................................................................................................................24 DevelopingYourMobileApplication ................................................................................................................24 DeployingYourMobileApplication..................................................................................................................25 TestingandDebuggingYourMobileApplication........................................................................................25 DistributingYourMobileApplication..............................................................................................................26 SupportingYourMobileApplication................................................................................................................26

3.7.1 3.7.2 3.7.3 3.7.4 3.7.5

Figure11ADFMobileRuntimeArchitecture.............................................................................................................................6 Figure21ApplicationNavigator...................................................................................................................................................15

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, viewscheduleofclasses,enrollinclasses,andmanagetheenrollmentshoppingcart. TheCampusMobilesmartphoneapplicationisasecure,simplified,andpersonalizedplatformfor studentstoconductkeyStudentRecordsprocesses.Youcanconfigure,brand,customizeand extendtheCampusmobileapplicationtosuityourrequirements. CampusMobileusesthedeliveredCampusSolutionsEnrollmentWebServices(EWS)toprovide realtimereadandwriteaccesstodatawithinCampusSolutions.ForCampusMobile,aRESTful versionoftheEWSisdeployed,leveragingPeopleTools8.52functionality.RESTfulwebservices requireloweroverheadthanSOAPbasedservices,thusloweringthebandwidthrequirementfor deliveringdatatoamobiledevice.Tooptimizethewebserviceperformance,CampusMobiletakes

OracleCorporationConfidentialForOracleinternaluseonly

Page4

advantageoftheEntityProfilingfeaturenewtoCampusSolutions.EntityProfilegivesustheability tocreateanduseamobileprofilethatlimitstheamountofdatadeliveredintheEWSpayloadtothe subsetofdatathatCampusMobileneeds;furtherloweringthebandwidthrequirementfor deliveringdatatoamobiledevice. InparalleltoCampusMobile,thenewCampusSolutionsNotificationFrameworkprovides proactivecommunicationtostudentsandenhancesthestudentmobileexperience.CampusMobile enablesstudentstomanagehowtheyreceivenotifications. Note:CertainnotificationsaredescribedinCampusMobiledocumentation,butCampusMobileisnota prerequisitetotheimplementationofthesenotifications.Thesenotificationsenhancethemobile experienceforstudentsandprovideproactiveinformationfromCampusSolutionsandthustheyhave beendevelopedparalleltoCampusMobile.

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

Page5

Figure11ADFMobileRuntimeArchitecture ThefollowingelementscomprisetheADFMobileruntimearchitecture: Device-Native Container representsanapplicationcontainer,ortemplate,compiledas adevicenativeapplicationbinary.Thiscontainerprovidestheruntimeenvironmentforan ADFMobileapplicationtorunasanondevice,nativeapplicationinthemobiledevice's operatingsystem(iOSorAndroid).BesideshostingtheclientsidecomponentsforanADF Mobileapplication,itprovidesnavigationutilities,suchasaspringboardandnavigation bar,whichenableaccesstoparticularapplicationfeatures. Web View isapartoftheDeviceNativeContainerthatusesamobiledevice'swebengine todisplayandprocesswebbasedcontent.InanADFMobileapplication,thewebviewisthe primarymechanismtorenderanddelivertheapplicationuserinterface. Server HTML representsawebbaseduserinterfacethatisgeneratedontheserverand deliveredasawebpagetotheADFMobileapplication.TheapplicationHTMLcode, businesslogic,andpageflowlogicaregeneratedonaremoteserver.ServerHTMLcan accessdevicenativeservices,suchasthecamera,throughtheJavaScriptAPIsupportedby Cordova,aslongasitisrunninginsideanADFMobileapplication.

OracleCorporationConfidentialForOracleinternaluseonly

Page6

Note: Campus Mobile does not make use of Server HTML. All application code is contained within the mobile application.
Local HTML representswebpagesdevelopedusingJDeveloperorthirdpartytoolsthat aredirectlyembeddedwithinanADFMobileapplication.Thesepagesaredeliveredasa partoftheADFMobileapplication.LocalHTMLfilescanaccessdevicenativefeatures throughtheJavaScriptAPIssupportedbyCordova. ADF Mobile AMX Views arebasedontheADFMobileAMXtechnologythatdeliversa JSFlikedevelopmentexperiencetoworkingwithanHTML5baseduserinterface.ADF MobileAMXviewsaredefinedusingUIandcodeeditorsprovidedbyJDeveloper.These viewsareembeddedintoanADFMobileapplicationanddeployedtoamobiledevice.Atrun time,theJavaScriptengineinthewebviewrendersADFMobileAMXviewdefinitionsinto HTML5components.OftheimplementationapproachesprovidedbyADFMobile, applicationfeaturesdevelopedusingtheADFMobileAMXcomponentsprovidethemost authenticdevicenativeuserexperiencethroughtheirextensivesupportofanimationand gestures. ADF Controller isrepresentedbyamobileversionoftheOracleADFcontrollerthat supportsasubsetofOracleADFtaskflowcomponentsavailabletoaserverbasedOracle ADFapplication.BothboundedandunboundedOracleADFtaskflowsaresupported,as wellasasubsetofeventsandscopesthataresupportedbytheserverbasedADF. Java providesaJavaruntimeenvironmentforanADFMobileapplication.ThisJavaVirtual Machine(JVM)isimplementedindevicenativecode,andisembedded(orcompiled)into eachinstanceoftheADFMobileapplicationaspartofthenativeapplicationbinary.The JVMisbasedontheJavaMEConnectedDeviceConfiguration(CDC)specification. Managed Beans areJavaclassesthatcanbecreatedtoextendthecapabilitiesofADF Mobile,suchasprovidingadditionalbusinesslogicforprocessingdatareturnedfromthe server.ManagedbeansareexecutedbytheembeddedJavasupport,andthereforemust conformtotheJavaMECDCspecifications. ADF Model inanADFMobileapplicationsupportsasubsetofbusinesslogiccomponents availabletoaserverbasedOracleADFapplication.ADFmodelcontainsthebindinglayer thatconnectsthebusinesslogiccomponentswiththeuserinterface.Inaddition,thebinding layerprovidestheexecutionlogictoinvokeRESTorSOAPbasedwebservices. Application Configuration referstoservicesthatallowkeyapplicationconfigurationsto bedownloadedandrefreshed.Forexample,URLendpointsforawebserviceorremoteURL connection.Applicationconfigurationservicesdownloadtheconfigurationinformation fromaWebDavbasedserversideservice.

Note: Campus Mobile does not make use of a remote Application Configuration. Configuration files are contained within the mobile application.

OracleCorporationConfidentialForOracleinternaluseonly

Page7

Credential Management and Access Control referstoclientsideservicesthat providesecurityrelatedservicesforanADFMobileapplication.Forexample,alocal credentialstorethatsecurelycachesusercredentialstosupportanofflineauthenticationor accesscontrolservicesthatdisplayorhideapplicationfeaturesbasedonuseraccess privileges. Apache Cordova (formerlyknownasPhoneGap)isanopensourcecodelibrarythat providesacommonJavaScriptAPItoaccessvariousmobiledeviceservices,suchasthe camera.CordovaprovidesamajorityofthedeviceservicesintegrationforanADFMobile application.CordovaJavaScriptAPIsarefurtherabstractedasdevicedatacontrolsinthe JDeveloperdesigntimeforADFMobileAMXbasedviews,allowingforintegrationofdevice servicesbydragginganddroppingdatacontrolstotheirADFMobileAMXviews. Local Data referstodatastoresthatresideonthedevice.InADFMobile,theseare implementedasencryptedSQLitedatabases.CreateRetrieveUpdateDelete(CRUD) operationsaresupportedtothislocaldatastorethroughtheJavalayer,usingJDBCbased APIs.

Note: Campus Mobile does not make use of local data storage.
Ontheserverside,the Configuration Server referstoaWebDavbasedserverthathosts configurationfilesusedbytheapplicationconfigurationservices.Theconfigurationserver isdeliveredasareferenceimplementation.AnycommonWebDavserviceshostedona commonJ2EEservercanbeusedforthispurpose.

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 referto frameworksfordevelopingserversideapplicationsthatcanbeusedforimplementationof theremoteURLADFMobileapplicationfeature.

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

Page8

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

Page9

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,alertsorwork listsbasedonatransactionperformedbyaconsumingapplication(calledaConsumer).

OracleCorporationConfidentialForOracleinternaluseonly

Page10

FormoreinformationabouttheNotificationsFramework,refertotheCampusCommunity PeopleBookchapterWorkingWiththeNotificationsFramework.

2.5.2 CONSUMERS
CampusSolutionsisdeliveredwithanumberofpreconfiguredConsumers,someofwhichhave beendevelopedconcurrentlywithCampusMobile.TheseareidentifiedwithCampusMobilein thename: CampusMobile CampusMobileGradeEMAIL CampusMobileGradeSMS CampusMobileWLConfirmationEMAIL CampusMobileWLConfirmationSMS

AllConsumersaredeliveredasinactive.ToenabletheseConsumers,refertotheCampusSelf ServicePeopleBookchapterSettingUpCampusMobile,SettingUpForNotifications. YouareabletomodifythedeliveredConsumersorwriteyourown. ItisimportanttounderstandthattheseConsumersdonotrequireimplementationofCampus Mobile(ausermayreceiveemailbasednotificationsthroughanyemailclient,andmayreceive SMSbasednotificationsthroughanymobilephone)andconversely,youarenotrequiredtoenable theseConsumersinordertoimplementCampusMobile.

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: Anewchecklisthasbeenassignedtothestudent,orifanychecklistitemsonanexisting checklisthavebeenupdated.(Note:Thisdoesnotincludetheadditionofanewchecklist itemtoanexistingchecklist.) Anegativeserviceindicatorhasbeenassignedto,orremovedfrom,astudentsrecordoran existingnegativeserviceindicatorhasbeenupdated.

OracleCorporationConfidentialForOracleinternaluseonly

Page11

Thestudentsenrollmentappointmentisabouttoopen.

TheCampusMobileConsumermakesuseoftheNotificationFrameworksbatchprocessing capability.Forinformationonhowtoconfigurethebatchprocessingjobs,refertotheCampusSelf ServicePeopleBookchapterSettingUpCampusMobile,DefiningandSchedulingCampusMobile BatchNotifications. Itisexpectedthatbatchprocessingwilloccuronceperday,withthefollowingimplications: 1. Checklistnotificationsaresentforcheckliststhatareaddedorupdatedthedaypriortothe batchprocessexecution. 2. Serviceindicatornotificationsaresentforchangesoccurringinthe24hourspriortothe batchprocessexecution. 3. Enrollmentappointmentnotificationsaresentforappointmentsthatwillopenthedayafter thebatchprocessexecution. 4. Executingthebatchprocessmorethanonceperdaymayleadtoduplicateenrollment appointmentnotifications. 5. Executingthebatchprocesslessthanonceperdaymayleadtomissedenrollment appointmentnotifications. 6. Notificationsaresenttostudentsatthetimeofbatchprocessexecution.

2.5.3 TEMPLATES
EverynotificationsentbyaConsumerisbasedonaTemplate,whichisusedtocreatethe notification.Thetemplatedefinesattributesofthenotification,suchasthemessagethatis deliveredtotheuserusingemailorSMS. 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

Page12

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. Sinceuserswillnotreceivenotificationsuntilsuchinformationhasbeenentered,youmayconsider implementingabatchupdateprocess,orcommunicatingtoallusersthattheyshouldentertheir notificationpreferences.

2.6 MESSAGECATALOGCONSIDERATIONS
CampusMobileusestheEWSforenrollmenttransactionsandtheEWSusesMessageCatalog14641 (refertotheEWSguide)formessagesthataredisplayedtousers.Mostofthedeliveredmessages areapplicabletoanyuserinterfaceandthusaresuitableforCampusMobile.Howeverthereare certainmessagesthatshouldbeevaluatedbyeachinstitutiontodeterminetheirapplicabilityto CampusMobile,sincetheyrefertoCampusSelfServiceUIcomponents.Sincethesemessagesare currentlyutilizedbybothCampusSelfServiceandCampusMobile,institutionsmaywantto considermodifyingtheexistingmessagestowardamoregenericwordingthatdoesnotinclude instructionsspecifictoonedeliveryplatform.Refertothetablebelow. 146417 Class%1isfull.Ifawaitlistisavailable,clickAddAnotherClasstoreturn tostep1.Clicktheclasslink,selectthewaitlistoptionandresubmityour request. %1.Youmustobtainpermissiontotakethisclass.Ifyouhavea permissionnumber,clickAddAnotherClass,clicktheclasslink,enterthe numberandresubmit. Class%1anditsalternate(%2)arefull.Ifawaitlistisavailable,clickAdd AnotherClasstoreturntostep1.Clicktheclasslink,selectthewaitlist optionandresubmityourrequest.

1464138

14641223

OracleCorporationConfidentialForOracleinternaluseonly Page13

3. CAMPUSMOBILE
3.1 OVERVIEW
ThefeaturesofCampusMobilearedescribedintheCampusSelfServicePeopleBookchapterUsing CampusMobile. CampusMobileisdeliveredasanunsignedMobileApplicationArchive(.maa)file,whichgivesyou theabilityto: Configureyourmobileapplication.Refersection3.3. Brandyourmobileapplication.Refersection3.4. Customizeyourmobileapplication.Refersection3.5. Extendyourmobileapplication.Refersection3.6. Manageyourmobileapplication.Refersection3.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

Page14

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 endpoints(refersection3.3).Havingdonethis,youcandeploytoaninstalledemulatorortoa connecteddevice(refersection3.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

Page15

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.

Note: It is recommended that the hostname of the <login> URL be the same as that of the RESTful web service endpoint, otherwise you must add the <login> 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,theuserscredentialsarestoredintheencryptedondevice credentialsstore.CampusMobileinjectstheuserscredentialsintotheheaderofsubsequentweb servicecalls.

3.3.2.3 Authorization
MostfeatureswithinCampusMobileareconstrainedforaccessbythePermissionList HCCPCSSA3000.ThisisdefinedintheView Controller > Application Sources > METAINF > adfmf-feature.xmlfile.IfyouwanttomakeuseofadifferentPermissionList,changethe valueforeachfeatureinthisfile. CampusMobilecallsthedeliveredauthorizationRESTwebservicethatisdescribedinsection2.3.2. Thelocationofthiswebserviceisdefinedintheconnections.xmlfile,withinthenode LoginConnection,aselement<accessControl>.

OracleCorporationConfidentialForOracleinternaluseonly

Page16

Youmustdefinethecorrectwebserviceendpointinthiselement.

3.3.2.4 Timeouts
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.4 BRANDINGYOURMOBILEAPPLICATION
BeforedistributingtheCampusMobiletoyourstudents,youwillwanttobranditasyourown application,consideringattributessuchas: Theapplicationid,nameandicon Yourcompanyorinstitutionlogoandcolorscheme Informationabouttheapp 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.ThiscanbeachievedbysettingtheIdattributeintheadfmfapplication.xmlfile.Atdeploymenttime,ifyouhavenotenteredaspecificvaluefor Application Bundle Idwithinadeploymentdescriptor,thisattributewillbereadfromadfmfapplication.xml.

OracleCorporationConfidentialForOracleinternaluseonly

Page17

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 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,theOraclelogoappearsonthesplashscreen,thespringboardandtheaboutpage.

OracleCorporationConfidentialForOracleinternaluseonly

Page18

Thesplashscreenisonewholeimage,forwhichthereexistsmultipleimagefilesfordifferent deviceformfactors.Theseimagefilesarelocatedinthesamefoldersastheappicons,under Application Resources > Resources.Onceyouhavedevelopedyourownsplashscreen image,youcanreplacethedeliveredimagefileswithyourown. Thelogousedonthespringboardandaboutpageisanimagefile(logo.png)storedwithinthe


ViewController > Web Content > resources > images.Youcanreplacetheexistingfile

withyourown.Eachofthespringboardandaboutpagesdefinethelocationofthelogoonthe page.Youcanmodifythesepages(springboard.amxandabout.amxwithinViewController > Web Content > oracle.cs.cm.view.sprinboard)ifyourlogowouldbebettersuitedina differentlocation. AsmallversionoftheOraclelogoisusedastheHomebuttonthat,whentapped,returnstheuserto thespringboard.Thisisstoredasanimagefile(home.pngwithinViewController > Web Content > resources > icons)whichyoucanreplacewithyourown.Youmaywanttousea smallversionofyourownlogotoensureaconsistentbrandingthroughouttheapp.Otherwiseyou maywanttouseagenerichomeicon.

3.4.5 INSERTINGYOURCOLORSCHEME
Theoverallvisualcolorschemepresentedthroughouttheappisdeterminedbytheskinandafew backgroundimages.TheuseofCascadingStyleSheet(CSS)skinsensuresthatallapplication componentsshareaconsistentlookandfeel. ThedeliveredskinisanextensionofthedefaultskinprovidedbyADFMobile(called mobileFusionFx),whichincludesapredominantlyblackpagebackground,withblackheaderand footer,alongwithstandardiOScoloringforpagecomponents,suchastables,listsandbuttons. TheskinextensionsaredefinedinViewController > Web Content > resources > styles > common.css,whichisregisteredintheadfmf-skins.xmlfile. Youmaywanttochangetheskinoftheappsothatitusesyourinstitutionscolorsandworkswell togetherwithyourlogo.Todothis,youcaneitherextendthedeliveredskinorinsertyourown skin.Chapter5.11oftheADFMobileDevelopersGuidedescribeshowtodothis. Thespringboardandaboutpagesmakeuseofbackgroundimagesthataredifferenttotheone definedintheskin.Portraitandlandscapeversionsoftheseimagefilesarelocatedin ViewController > Web Content > resources > images.Youcanreplacetheexistingfiles withyourown.Oneachofthespringboardandaboutpagesstretchthebackgroundimagetofit theusersdevice.Theyalsodefinethelocationofthelogoonthepage.Youcanmodifythesepages (springboard.amxandabout.amxwithinViewController > Web Content > oracle.cs.cm.view.sprinboard)ifyourlogowouldbebettersuitedinadifferentlocationwhen displayedonthenewbackgroundimage.

OracleCorporationConfidentialForOracleinternaluseonly

Page19

3.4.6 INSERTINGYOURAPPINFO
Asdelivered,theaboutpagedisplaysabackgroundimage,alogo,theappnameandversion number,andanOraclecopyrightnotice.Youshouldchangethecopyrightnoticetoyourown messagebymodifyingthevalueforCOPYRIGHT_LBLwiththeresourcebundle ViewControllerBundle.xlf. Ifyouwanttomakemoreextensivechangestotheaboutpage,youcouldmodifythedeliveredfile (about.amxinViewController > Web Content > oracle.cs.cm.view.sprinboard),oryou couldwriteyouownpage.Thiscouldbeaconvenientplacetodisplayanyenduserlicense agreement.Ifyouwriteyourown,youwillneedtoupdatethereferencewithinspringboardtask-flow.xmlinthesamelocation.

3.4.7 MAINTAININGTHEAPPVERSION
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

OracleCorporationConfidentialForOracleinternaluseonly

Page20

Turnoffthespringboardornavigationbar Changethewaythespringboardisdisplayed Createyourownspringboard Displayatogglebuttonthatenablestheusertodisplaythespringboardornavigationbar

Chapter5.4oftheADFMobileDevelopersGuidedescribeshowtomakesuchcustomizations.

3.5.3 CUSTOMIZINGTHEAPPFEATURES
EveryADFMobileappcontainsoneormorefeatures.Afeaturemaybeaccesseddirectlyfromthe springboardornavigationbar,oritmaybeaccessedfromanotherfeature. Asdelivered,CampusMobilecontainsthefollowingfeatures: Schedule Search Cart Grades Profile Springboard EnrollmentOptions Redirector Map

Thefirstfiveinthelistaredisplayedonthespringboardandnavigationbar.Theothersarenot. ADFMobileprovidesyouwiththeabilitytocustomizethedisplayandfunctionalityofthedelivered featuresusingJDeveloper.Forexample,youcould Removefeaturesfrom(oraddto)thespringboardornavigationbar Changetheorderofthefeaturesdisplayedonthespringboardandnavigationbar Changethenamesandiconsoffeatures(refersection3.5.5) Changefeaturesecurityandconstraints Changefeaturelifecycleandtaskflows

Chapter5.5oftheADFMobileDevelopersGuidedescribeshowtomakesuchcustomizations. NotethatthedeliveredfunctionalityofCampusMobileisdefinedbythefeatures,sochanging attributessuchassecurity,constraints,lifecycleortaskflowsisnotrecommended.

3.5.4 MAPSINTEGRATION
ThedeliveredCampusMobileapplicationhasaMapfeaturethatenablesuserstodisplaythe locationofaclassroomonamapiftheclassroomsbuildinglocationhasbeenenteredintoCampus Solutions.

OracleCorporationConfidentialForOracleinternaluseonly

Page21

ADFMobilesupportstheuseofOracleMapsorGoogleMaps.Asdelivered,CampusMobileuses OracleMapsandsupportsthedisplayoftheclassroomlocationandtheuserscurrentlocation. IfyouchangetoGoogleMaps,youruserswillbeabletoaccessGoogleStreetViewandadditional layers,suchassatellite.Itwouldalsobepossibletoextendtheapptoprovideadditional information,suchasdirections. ToconfiguretheapptouseGoogleMaps,youmustmodifyadf-config.xmlasfollows: 1. Replace<adf-property name="mapProvider" value="oraclemaps"/>with<adfproperty name="mapProvider" value="googlemaps"/>. 2. Add<adf-property name="geoMapKey" value="MapKey"/>whereyourKeyisyour institutions(orcompanys)GoogleMapsbusinesslicensekey. 3. Add<adf-property name="geoMapClientId" value="ClientId"/>where yourClientIdisyourinstitutions(orcompanys)clientidforyourGoogleMapsbusiness license. 4. Remove<adf-property name="mapViewerUrl" value="http://elocation.oracle. com/mapviewer"/>. 5. Remove<adf-property name="baseMap" value="ELOCATION_MERCATOR.WORLD_ MAP"/>. 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

OracleCorporationConfidentialForOracleinternaluseonly

Page22

maywanttocustomizethismessagebyincludingaphonenumberoremailaddressthattheycan contactinsuchsituations.Todothis,modifythevalueforthekeyCONNECTION_ERROR_LABELin ViewController.xlf.

3.5.7 CUSTOMIZINGPAGESWITHINTHEAPP
ADFMobileAMXisasubframeworkwithinADFMobilethatprovidesasetofUIcomponentsthat enableyoutocreateanapplicationfeaturewhosebehaviorisidenticalonallsupportedplatforms andprovidesaccesstodevicefunctionality.JDeveloperallowsyoutodragthesecomponentsinto aneditorfromtheComponentpaletteorfromtheDataControlpalette.JDeveloperalsoallowsyou tocreatetaskflowsthatdefinethenavigationbetweenADFMobileAMXpages. EachpagewithinCampusMobileisdefinedbyanAMXfile,suchasgrades.amxfortheGrades feature.UsingJDeveloper,youhavealotofflexibilityforchangingthelayoutofanypagewithinthe app. Ratherthanmodifyinganydeliveredfiledirectly,youshouldmakeacopyofthefileandmodifythe copy.Ensurethatthenewpagefileisreferencedwithintheassociatedtaskflow(forexample,in thecaseofgrades.amx,thiswouldbegrades-task-flow.xml). Beforemakingsuchchanges,pleasereadsections6,7and8oftheADFMobileDevelopersGuideto ensurethatyouhaveathoroughunderstandingofAMX. Forinformationaboutchangingthedatadisplayedonapagewithintheapp,refertosection3.6.2. Itisnotrecommendedtochangethetaskflowswithintheapp,otherthantoupdatethepage namesifyoucustomizepages.Otherwiseyoumaybreakthedesignedflowoftheapp,potentially introducingbugsandevenleadingtodataintegrityissues.

3.6 EXTENDINGYOURMOBILEAPPLICATION
3.6.1 PROVIDINGADDITIONALMAPFUNCTIONALITY
IfyouchangetousingGoogleMaps(refertosection3.5.4)andwanttomakeuseofotherGoogle MapsAPIfeatures,suchasprovidingdirections,youmustwriteyourownJavaScriptand incorporateitintoacopyoftheshow-location.amxpage(refertosection3.5.7regarding customizationstodeliveredAMXpages).

3.6.2 CHANGINGTHEDISPLAYEDDATA
InadditiontochangingthelayoutofadeliveredAMXpage(refertosection3.5.7regarding customizationstodeliveredAMXpages),youmaywanttoalterthedatathatisdisplayedona deliveredAMXpage. Toremovedata,simplyremovethecomponentthatdisplaysthedata.Thismaybeusefulifyoudo notmakeuseofaparticularfieldduringatransactionandthereforeyoudontwanttoconfuseyour usersbydisplayingthefield.

OracleCorporationConfidentialForOracleinternaluseonly

Page23

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
Ifyouintendtomakecustomizationsorextensionstothedeliveredapp,thenyoushouldconsider formalizingyourdevelopmentprocesses. Atypicaldevelopmentlifecycleincludes: Requirementsgatheringanddefinition Design Implementation(refersections3.2to3.6) Deployment(refersection3.7.2) Testinganddebugging(refersection3.7.3)

OracleCorporationConfidentialForOracleinternaluseonly

Page24

Distribution(refersection3.7.4) Support(refersection3.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. Todeployyourmobileapplicationfortesting,selectApplication>Deploy,thenselecteitherthe AndroidoriOSdeploymentprofile.Youmustthenselecttodeploytoaconnecteddeviceoran installedemulator.Oncethedeploymenthasfinished,youwillbeabletotestyourmobile application.

3.7.3 TESTINGANDDEBUGGINGYOURMOBILEAPPLICATION
Moreinformationabouttestinganddebuggingyourmobileapplicationcanbefoundinchapter19 oftheADFMobileDevelopersGuide. 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. JDevelopercreatesafilewithintheApplication Resources > Securityfolderthatidentifiesa setofcertificatesfromwellknownandtrustedsources.IfthecertificateusedbyyourSSLweb servicesisnotcontainedwithinthisset,ornotsignedbyaCAwithinthisset,youmaynoticean error'Certificatewasissuedbyanunrecognizedentity'inthelogfile.Refertosection18.5ofthe ADFMobileDeveloper'sGuideforinformationonhowtoaddyourcertificatetothetrustedset. NotethatthefirstlaunchoftheapponAndroidmaytakeawhileasitunpackstheapp.

OracleCorporationConfidentialForOracleinternaluseonly

Page25

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. Youmaywanttosetupasupportphonenumberoremail,whichcouldbereferencedinthemobile applicationsaboutpage(refertosection3.4.6)orgenericerrormessage(refertosection3.5.6). Youmayconsiderprovidingamechanismforstudentstogivefeedbackabouttheapp,whichcould beusedtoinformadditionaldevelopmentofyourmobileapplication.

OracleCorporationConfidentialForOracleinternaluseonly

Page26

Vous aimerez peut-être aussi