Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Christian Albrecht Geändert vor über 9 Jahren
1
Oracle IFS Die Brücke zwischen Content Management System und einer Produktpräsentation im Internet
2
Copyright TEAM, Paderborn Seite 2 Apr 03 Projektanforderungen Spieler Kunde Autor Oracle Internet File System
3
Copyright TEAM, Paderborn Seite 3 Apr 03 Objekte Grafiken die an unterschiedlichen Stellen eingesetzt werden sollten Handbücher, Programmversionen, Installationsanweisungen zum Download Spielbeschreibungen Spielsysteminformationen Profileigenschaften Aktionen
4
Copyright TEAM, Paderborn Seite 4 Apr 03 Herausforderungen Zielgruppenorientierte Darstellung im Internet Volltextsuche über Inhalte und Attribute Kontextsensitive Navigation Layoutbindung an Stylesheets für HTML-Content Freigabeverfahren Schnittstelle zu Lotus Notes zur Replikation von Notebooks Integration in ein bestehendes Portal
5
Copyright TEAM, Paderborn Seite 5 Apr 03 Modellierung Grafik Texte Techn.-Info Varianten Grafik Produkt...
6
Copyright TEAM, Paderborn Seite 6 Apr 03 Realisierung Serverseitig - Suchverdichtung der Attribute - Zuweisung der ACL an Hand der Freigabe - Agent zum Erstellen eines neuen Produktes WebUI - Anpassen des Menüs - Lookup für Produkt - Einstellen neuer Dokumente Sonstiges - PL/SQL-Schnittstelle - Integrierter HTML-Editor - Präsentation im Frameset
7
Copyright TEAM, Paderborn Seite 7 Apr 03 Suchverdichtung der Attribute Aufgabe Bei der Volltextsuche sollten neben dem Content auch die Attribute der Objekte durchsucht werden. public void extendedPreUpdate(OperationState opState, S_LibraryObjectDefinition def) throws IfsException{ // Auf jeden Fall die super Methode aufrufen super.extendedPreUpdate(opState, def);... // Und das Suchfeld aktualisieren def.setUserSetAttribute("SUCHVERDICHTUNG", AttributeValue.newAttributeValue(fuelleSuchverdichtung(def))); } private String fuelleSuchverdichtung (S_LibraryObjectDefinition p_def)throws IfsException { String vSuche = ""; String vDesc =""; String Trenner = "|"; vSuche = Trenner; vSuche = vSuche + singleAttribute("PRODUKTNAME","STRING",p_def);... return vSuche; } Lösung
8
Copyright TEAM, Paderborn Seite 8 Apr 03 Zuweisung der ACL an Hand der Freigabe Aufgabe Bei Veränderung der Attribute Freigabe und Rücknahme sollte die ACL geändert werden. public void extendedPreUpdate(OperationState opState, S_LibraryObjectDefinition def) throws IfsException{ // Auf jeden Fall die super Methode aufrufen super.extendedPreUpdate(opState, def);... AttributeValue ifa = def.getAttribute("INTERNET_FREIGABE_AM"); AttributeValue ira = def.getAttribute("INTERNET_RÜCKNAHME_AM");... if (ifa != null) freigabe = ifa.getDate(session);... if (ira != null) rücknahme = ira.getDate(session); S_AccessControlList acl = null; if (freigabe.compareTo(rücknahme) > 0) { acl = (S_AccessControlList)getObject("ACCESSCONTROLLIST","ACL_OEFFENTLICH"); def.setUserSetAttribute("ACL",AttributeValue.newAttributeValue(acl)); } else if (freigabe.compareTo(rücknahme) < 0){ acl = (S_AccessControlList)getObject("ACCESSCONTROLLIST","ACL_PORTAL"); def.setUserSetAttribute("ACL",AttributeValue.newAttributeValue(acl)); }... } Lösung
9
Copyright TEAM, Paderborn Seite 9 Apr 03 Agent zum Erstellen eines neuen Produktes Aufgabe Legt der Autor an einer definierten Stelle einen Ordner an, soll daraus ein Produkt mit Unterverzeichnissen angelegt werden. public void enableEventListening() throws IfsException{... ClassObject co = ifsSession.getClassObjectByName("FOLDER"); ifsSession.registerClassEventHandler(co, false, this);... } public void handleEvent(IfsEvent event) throws IfsException{... if ((event.getEventStatus() == IfsEvent.EVENTSTATUS_COMMITTED) && (event.getEventType() == IfsEvent.EVENTTYPE_CREATEINSTANCE)) { queueEvent(event); } } public void processEvent(IfsEvent event) throws IfsException{... AccessControlList newAcl = (AccessControlList) aclColl.getItems("ACL_PORTAL");... if (theDescription != null && theDescription.equals ("ROOTPRODUKT"))... Produkt newProd = (Produkt) ifsSession.createPublicObject(newProdDef); newProd.setAcl(newAcl); newFolder.free(); targetFolder.addItem(newProd);... } Lösung
10
Copyright TEAM, Paderborn Seite 10 Apr 03 Anpassen des Menüs Aufgabe Es sollte im WebUi das Menü um eigene Optionen erweitert werden. public class MenuBean{ public MenuBean(HttpServletRequest request, int menuTop)... private Menu[] buildMenus() throws Exception {... // Hier wird nun das eigene Menü angehangen Vector myMenuItems = new Vector(); myMenuItems.addElement(new MenuItem("Neues Produkt", 0, "doNewProduct()", 0)); myMenuItems.addElement(new MenuItem("Objekt bearbeiten", 0, "doProperties()", 0)); myMenuItems.addElement(new MenuItem("Produktübersicht",0,"doProduktuebersicht()",0)); menus[5] = new Menu("myMenu", "Produkt", "../images/icons/24x24/logo.gif", "../images/icons/24x24/logo_dim.gif", "Produktmenu", myMenuItems, "140"); return menus; } Lösung
11
Copyright TEAM, Paderborn Seite 11 Apr 03 Lookup für das Produkt Aufgabe Zur Bearbeitung der Produkteigenschaften sollte ein eigenes Formular integriert werden. Produkt bearbeiten ">... ">Produktprofil bearbeiten ">Neuen Produktext (Allg. Beschr./Produktinfo/Spielsysteminfo) anlegen ">Neue Produktgrafik anlegen ">Neue Spielbeschreibung anlegen ">Neue Technische Information (Hinweis/Handbuch/Inst.anw./Programm.) anlegen... Lösung
12
Copyright TEAM, Paderborn Seite 12 Apr 03 PL/SQL-Schnittstelle Aufgabe Alle Informationen sollten zyklisch an einen Lotus Notes Server zur Replikation mit den Client-Notebooks übergeben werden. create or replace procedure write_ifsln_produkt is /* Cursor über alle zu betrachtenden Produkte */ cursor C_Produkt is select p.*, d.lastmodifydate from odm_produkt p, odm_publicobject d where p.id = d.id and d.lastmodifydate > nvl(p.notes_sync, convert_date_to_num(to_date('01.01.1970','DD.MM.YYYY'))); /* Cursorrecord */ c_produkt_rec C_Produkt%ROWTYPE; v_prod_id number(20); begin open C_Produkt; loop... Lösung
13
Copyright TEAM, Paderborn Seite 13 Apr 03 Integrierter HTML-Editor Aufgabe Im Rahmen eines festgelegten Stylesheets sollten die Autoren nur begrenzte Möglichkeiten zur HTML-Formatierung bekommen. // // htmlArea v2.01 - Copyright (c) 2002 interactivetools.com, inc. // A free WYSIWYG editor replacement for fields. // // For more information visit: // http://www.interactivetools.com/products/htmlarea/ // ------------------------------------ editor_generate('auszahlungsarten'); Lösung
14
Live-Demo
15
Copyright TEAM, Paderborn Seite 15 Apr 03 Ausblick Versionsverwaltung Mit der Versionsverwaltung soll es den Fachabteilungen ermöglicht werden, Grafiken, Technische Dokumentationen, etc. im laufenden System bearbeiten zu können. Workflow Umfangreichere Genehmigungsverfahren und Freigabe könnten durch eine Integration von Oracle Workflow effizient unterstützt werden. Mail Systemzustände bzgl. eingestellter Dokumente, Fehler bei der Textindizierung, unzureichende Informationen bei den Grafiken könnten vom System überwacht und an den Administrator gemailt werden. Kategorien Für Profileigenschaften, die zukünftig flexible geändert werden könnten, wären Kategorien ein dynamischer Ansatz.
16
Vielen Dank für Ihre Aufmerksamkeit! Hermann-Löns-Str. 88 33104 Paderborn Fon: 0 52 54 / 80 08-0 Fax: 0 52 54 / 80 08-19 eMail: team@team-pb.deteam@team-pb.de www.team-pb.de
Ähnliche Präsentationen
© 2025 SlidePlayer.org Inc.
All rights reserved.