Membuat Kriteria Pengujian Membuat Desain Sederhana Implementasi

4.3.3. Iteration 2

Pada tahapan iterasi 2 ini akan dilakukan pengembangan content type pada Alfresco dengan menggunakan story nomor 1.3. Story nomor 1.3 menunjukan penjelasan mengenai type dan aspek konten beserta properti yang ditambahkan pada dokumen proposal skripsi yang dibuat diupload. Untuk lebih jelas mengenai story nomor 1.3 dapat dilihat pada lampiran user story

4.3.3.1. Membuat Kriteria Pengujian

a.Memeriksa tipe dokumen proposal skripsi Langkah Pengujian: 1 Mengupload dokumen dengan tipe Skripsi Document 2 Mengisi form properties nim dan nama Hasil Diharapkan : 1 Muncul halaman dengan Tipe Konten mempunyai pilihan Proposal Skripsi 2 Pada Rincian Dokumen terdapat properti nim dan nama yang terisi. b. Memeriksa versi dokumen Langkah Pengujian: 1 Edit dokumen proposal skripsi 2 Menyelesaikan editing dokumen Mendaftarkan 3 Memilih nomor versi Hasil Diharapkan: 1 Pada Rincian Dokumen terdapat versi dokumen pada tab Versi History. c. Memeriksa Pencarian untuk Proposal Skripsi Langkah Pengujian: 1 Mencari dokumen menggunakan Pencarian Lanjutan 2 Pilih Tipe Konten : Skripsi Document dan mengisi form nim dan nama Hasil Diharapkan: 1 Menampilkan dokumen hasil pencarian yang sesuai dengan nim dan nama d. Memeriksa halaman jsp untuk halaman halaman depan dan login Langkah Pengujian : 1 Membuka halaman awal web Halaman Depan 2 Membuka hamalan login 3 Melakukan login dengan menginput username dan password Hasil Diharapkan: 1 Tampil Halaman Depan dengan tampilan getting started jsp 2 Tampil halaman login jsp 3 Masuk ke Alfresco Explorer dan nama user tampil di kanan atas

4.3.3.2. Membuat Desain Sederhana

a. Content Model Gambar 4.8. Model Content Dokumen Proposal Content Model pada gambar 4.13 merupakan model properti dari dokumen proposal skripsi doc. Dokumen merupakan turunan dari model cmcontent Alfresco. Dokumen mempunyai aspect strudentDetails yang terdiri dari properti namaMhs dan nim. Dokumen juga mempunyai aspect cm:versionable Alfresco model.

4.3.3.3. Implementasi

a. Membuat Content Model Content model dibuat dengan membuat file taModel.xml pada folder config| alfresco| extension| model|, sesuai dengan desain content model pada gambar 4.13 . Pembuatan content model dimulai dengan pendefinisian model, import, dan namespace, sama seperti tahapan pembuatan workflow task model. Setelah pendefinisian dilakukan, kemudian baru dapat mendefinisikan type dan aspect dari dokumen. ?xml version=1.0 encoding=UTF-8? model name=ta:skripsimodel xmlns=http:www.alfresco.orgmodeldictionar y1.0 imports ... import uri=http:www.alfresco.orgmodelcontent1.0 prefix=cm imports ... namespaces namespace uri=http:www.skripsi.commodelcontent1.0 prefix=ta namespaces types type name=ta:doc titleSkripsi Documenttitle parentcm:contentparent mandatory-aspects aspectcm:versionableaspect aspectta:studentDetailsaspect mandatory-aspects type types aspects aspect name=ta:studentDetails titleMahasiswatitle properties property name=ta:namaMhs titleNama Mahasiswatitle typed:texttype mandatorytruemandatory property property name=ta:nim titleNIMtitle typed:texttype mandatorytruemandatory property properties aspect aspects model Untuk selengkapnya file taModel.xml dapat dilihat pada lampiran listing program. b. Membuat file JSP untuk halaman web 1 Membuat halaman depan File getting-started.jsp berguna menampilkan informasi mengenai penelitian yang dilakukan, yang ditempatkan sebagai halaman depan dari Alfesco Explorer. Pembuatan file getting-started.jsp ditempatkan pada folder src| web| jsp| extension|. File getting-started.jsp berisi sebagai berikut : taglib uri=http:java.sun.comjsfhtml prefix=h taglib uri=http:java.sun.comjsfcore prefix=f taglib uri=WEB-INFalfresco.tld prefix=a taglib uri=WEB-INFrepo.tld prefix=r page import=org.alfresco.web.ui.common.PanelGen erator f:verbatim PanelGenerator.generatePanelStartout, request.getContextPath, blue, dfe6ed; f:verbatim ... h:panelGroup id=title-content h:outputText style=font-weight:bold value=Pengembangan Alur Kerja Workflow Dokumen Prosedur Pengajuan Proposal Skripsi Pada Alfresco ECM Menggunakan JBOSS BPM Studi Kasus : Program Studi Teknik Informatika f:verbatimbrf:verbatim h:panelGroup ... h:panelGroup id=browse-content h:outputText style=font-weight:bold value=Menjelajahi dokumen proposal skripsi f:verbatimbrf:verbatim h:outputText value=Masuk pada space Halaman Instansi Proposal Skripsi untuk menjelajahi dokumen dokumen proposal skripsi h:panelGroup ... h:panelGroup id=add-content-view h:outputText style=font-weight:bold value=Upload dokumen proposal skripsi f:verbatimbrf:verbatim h:outputText value=Pada Halaman Instansi Proposal Skripsi Proposal Diajukan, klik Tambahkan Konten dan cari dokumen yang akan diupload serta masukan informasi tentang properti dokumen h:panelGroup ... h:panelGroup id=work-content h:outputText style=font-weight:bold value=Memulai workflow proposal skripsi f:verbatimbrf:verbatim h:outputText value=Pada halaman Rincian dari dokumen, klik Memulai Workflow Lanjutan dan pilih workflow Pengajuan Proposal Skripsi ... f:verbatim PanelGenerator.generatePanelEndout, request.getContextPath, blue; f:verbatim Untuk selengkapnya file getting-started.jsp dapat dilihat pada lampiran listing program. 2 Membuat halaman login Pembuatan file login.jsp ditempatkan pada folder src| web| jsp| extension|. Isi file login.jsp adalah : taglib uri=http:java.sun.comjsfhtml prefix=h taglib uri=http:java.sun.comjsfcore prefix=f taglib uri=http:java.sun.comjspjstlcore prefix=c taglib uri=WEB-INFalfresco.tld prefix=a taglib uri=WEB-INFrepo.tld prefix=r page import=org.alfresco.web.app.servlet.Authen ticationHelper page import=org.alfresco.web.ui.common.PanelGen erator page import=javax.servlet.http.Cookie page buffer=16kb contentType=texthtml;charset=UTF-8 page isELIgnored=false Cookie authCookie = AuthenticationHelper.getAuthCookierequest ; if session.getAttributeAuthenticationHelper. SESSION_INVALIDATED = null { if authCookie = null { authCookie.setMaxAge0; response.addCookieauthCookie; } } else { if authCookie = null authCookie.getValue = null { session.setAttributeAuthenticationHelper.S ESSION_USERNAME, authCookie.getValue; } } ... f:view f:loadBundle basename=alfresco.messages.webclient var=msg h:form acceptcharset=UTF-8 id=loginForm ... table border=0 cellspacing=4 cellpadding=2 tr td colspan=2 img src==request.getContextPathskripsi imagesuinlogin.png width=202 height=58 alt=Skripsi title=Skripsi td tr tr td colspan=2 span class=mainSubTitleh:outputText value={msg.login_details} :span td tr tr td h:outputText value={msg.username}: td td h:inputText id=user-name value={LoginBean.username} validator={LoginBean.validateUsername} style=width:150px td tr tr td h:outputText value={msg.password}: td td h:inputSecret id=user-password value={LoginBean.password} validator={LoginBean.validatePassword} style=width:150px td tr ... tr td colspan=2 align=right h:outputText value={AboutBean.version} h:commandButton id=submit action={LoginBean.login} value={msg.login} td tr tr td colspan=2 h:messages style=padding-top:8px; color:red; font-size:10px layout=table td tr table td ... tr table PanelGenerator.generatePanelEndout, request.getContextPath, yellowInner; td tr table div script document.cookie=_alfTest=_alfTest var cookieEnabled = document.cookie.indexOf_alfTest = - 1; if cookieEnabled == false { document.getElementByIdno- cookies.style.display = inline; } script td tr table h:form f:view script if document.getElementByIdloginForm:user- name.value.length == 0 { document.getElementByIdloginForm:user- name.focus; } else { document.getElementByIdloginForm:user- password.focus; } script r:page body Untuk selengkapnya file login.jsp dapat dilihat pada lampiran listing program. 3 Membuat halaman re-login Halaman re-login ditampilkan pada saat pengguna melakukan logout. Pembuatan file relogin.jsp ditempatkan pada folder src| web| jsp| extension|. File relogin.jsp berisi sebagai berikut : taglib uri=http:java.sun.comjsfhtml prefix=h taglib uri=http:java.sun.comjsfcore prefix=f taglib uri=http:java.sun.comjspjstlcore prefix=c taglib uri=WEB-INFalfresco.tld prefix=a taglib uri=WEB-INFrepo.tld prefix=r page import=org.alfresco.web.app.servlet.Authen ticationHelper page import=javax.servlet.http.Cookie page buffer=16kb contentType=texthtml;charset=UTF-8 page isELIgnored=false if session.getAttributeAuthenticationHelper. SESSION_INVALIDATED = null { Cookie authCookie = AuthenticationHelper.getAuthCookierequest ; if authCookie = null { authCookie.setMaxAge0; response.addCookieauthCookie; } } body bgcolor=ffffff style=background- image: url=request.getContextPathskripsii magesuinbg.png; background-repeat: no- repeat; background-attachment: fixed r:page titleId=title_relogin f:view f:loadBundle basename=alfresco.messages.webclient var=msg h:form acceptcharset=UTF-8 id=loggedOutForm ... table border=0 cellspacing=4 cellpadding=2 tr td align=center img src==request.getContextPathskripsi imagesuinlogin.png width=202 height=58 alt=Skripsi title=Skripsi td tr tr td align=center span class=mainSubTitleh:outputText value={msg.loggedout_details} span td tr tr td align=center a:actionLink href=facesjspbrowsebrowse.jsp value={msg.relogin} td tr table ... h:form f:view r:page body Untuk selengkapnya file relogin.jsp dapat dilihat pada lampiran listing program. c. Konfigurasi Web Client Untuk melakukan konfigurasi file yang telah dibuat pada iterasi ini, perlu ditambahkan kode kofigurasi pada file web-client-config-custom.xml yang telah dibuat pada iterasi 1. Content model yang telah dibuat didaftarkan pada web client agar dapat ditampilkan pada saat upload dokumen. config evaluator=string-compare condition=Content Wizards content-types type name=ta:doc content-types config config evaluator=string-compare condition=Action Wizards aspects aspect name=ta:studentDetails aspects subtypes type name=ta:doc subtypes specialise-types type name=ta:doc specialise-types config config evaluator=aspect-name condition=ta:studentDetails property-sheet separator name=sepCust display-label=Mahasiswa component- generator=HeaderSeparatorGenerator show-property name=ta:namaMhs display-label=Nama Mahasiswa show-property name=ta:nim display-label=NIM property-sheet config Content model juga diperlukan dalam pencarian dokumen proposal untuk mempermudah pencarian berdasarkan NIM dan nama mahasiswa. Oleh karena itu, content model juga didaftarkan sebagai parameter pencarian. config evaluator=string-compare condition=Advanced Search advanced-search content-types type name=ta:doc content-types custom-properties meta-data aspect=ta:studentDetails property=ta:namaMhs display-label=Nama Mahasiswa meta-data aspect=ta:studentDetails property=ta:nim display-label=NIM custom-properties advanced-search config Halaman web yang telah dibuat juga perlu untuk didaftarkan. Konfigurasi untuk halaman login adalah sebagai berikut : config client login- pagejspextensionlogin.jsplogin-page client config Sedangkan untuk halaman depan, file getting-started.jsp didaftarkan pada bagian dashboard web. config evaluator=string-compare condition=Dashboards dashboards dashlets dashlet id=getting- started label- id=dashlet_gettingstarted_label description- id=dashlet_gettingstarted_desc jsp=jspextensiongetting- started.jsp allow-narrow=true dashlets dashboards config d. Konfigurasi Spring Framework Konfigurasi terhadap content model juga diperlukan untuk mendaftarkan content model pada server. bean id=skripsi.dictionaryBootstrap parent=dictionaryModelBootstrap depends- on=dictionaryBootstrap property name=models list valuealfrescoextensionmodeltaModel.xml value list property bean e. Konfigurasi JSF ?xml version=1.0 encoding=UTF-8? DOCTYPE faces-config PUBLIC -Sun Microsystems, Inc.DTD JavaServer Faces Config 1.1EN http:java.sun.comdtdweb- facesconfig_1_1.dtd faces-config navigation-rule description NavigationHandler untuk proses login.jsp. description from-view- idjspextensionlogin.jspfrom-view-id navigation-case description NavigationHandler browse.jsp akan ditampilkan jika Action pada component UICommand login.jsp menghasilkan keluaran success. description from-outcomesuccessfrom- outcome to-view- idjspbrowsebrowse.jspto-view-id navigation-case navigation-rule navigation-rule from-view-idjspfrom-view-id navigation-case from-outcomelogoutfrom- outcome to-view- idjspextensionlogin.jspto-view-id navigation-case navigation-case from-outcomereloginfrom- outcome to-view- idjspextensionrelogin.jspto-view-id navigation-case navigation-rule faces-config

4.3.3.4. Integrasi