Académique Documents
Professionnel Documents
Culture Documents
R
R
Manager Repository
R R Registry Manager
Extensions
Informatio
Configuration
Source
n
KM Applications
Search & Metadata
Retrieval Definition
(Indexmanagem
ent)
Statemanagement /
Publishing
Navigation approval
Pipeline
services
Repository Framework
Collaboration architecture
Collection
- children Semantic Object
discussion.oth myDoc.doc
+getInstance() : IResourceFactory
interface interface
IResourceFactory ITypeCast
+getResource(in RID, in Context)
interface
IResource
+getRID()
+getContext()
+getContent()
+getProperties()
+getParentCollection() interface
+getLinkType() child parent ICollection
+getChildren()
RID interface
IResourceContext
+getUser()
+getRID() +getLanguage() interface interface
+getPath() IContent IProperty
+name()
+getInputStream() +getName()
+getQuery()
+getContentLength() +get..Value()
+getContentType() +getAttributes()
+getEncoding()
ResourceContext
IUser user = ;
IResourceFactory factory =
ResourceFactory.getInstance();
IResource resource =
factory.getResource(rid, context);
if(resource.isCollection()) {
ICollection collection = (ICollection)resource;
IResourceList children =
collection.getChildren();
}
A B / http://...
repository other_repository
n Links folder
link1
link2 folder link4
link3
subfolder
other_file
file
IResourceFactory factory =
ResourceFactory.getInstance();
IResourceContext context =
new ResourceContext(user);
ICollection parent =
(ICollection)factory.getResource(/documents,
context);
IResource resource =
parent.createResource(file, null, null);
IResourceFactory factory =
ResourceFactory.getInstance();
IResourceContext context =
new ResourceContext(user);
ICollection parent =
(ICollection)factory.getResource(/documents,
context);
ICollection collection =
parent.createCollection(folder, null);
IResource copied =
resource.copy(/documents/copy, null);
IResource moved =
copied.move(/documents/folder, null);
IResource renamed =
moved.rename(renamed_copy);
renamed.delete();
if(LinkType.EXTERNAL.equals(resource.getLinkType())){
// external link to an URL
URL target = resource.getTargetURL();
} else if
(LinkType.INTERNAL.equals(resource.getLinkType())) {
// internal link to another resource
IResource target = resource.getTargetResource();
} else {
// not a link
}
IContent newContent =
new Content(data, text/plain,
data.available());
resource.updateContent(newContent);
interface
IProperty
interface
+getName()
IName
+getType()
+get..Value() +getNamespace()
+getAttributes() +getName()
interface
IMutableProperty interface
+set..Value() IPropertyName
+setAttributes()
Property PropertyName
MutableProperty
IPropertyName propertyName =
new PropertyName(namespace, name);
IProperty property =
resource.getProperty(propertyName);
nEventing
nSecurity
n Locking
n ID Mapping
n Ordering
n Property Search
Requirements
Portal-Plugins
n Creates an empty portal application project
u Creates source development folders for API & Core coding
u Creates a filesystem structure for PAR file creation
l Public area for client content
l Private area for server side content
KM-Plugins
n Creates source code skeletons
for CM components
KM Plugin common project
n Creates configuration entries
(XML files) for config framework KM Plugin Config FW Plugin
n Creates Wrapper classes for (Repository
registration at CrtClassLoader Manager) Portal Plugin
n From the menu, choose: File -> New ... -> Project
com.sap.netweaver.bc.*
for Scheduler, Filter,
all Services,
Repository Manager
com.sap.netweaver.coll.*
for Room Extenstions
n Repository Manager
n Global Service
n Repository Filter
n Repository Service
n Scheduler Task
Project structure
1. Portal service wrapper in src.API
2. CM Component classes
3. Config Archive for config framework
1
3
2
package com.sap.netweaver.rf.wrapper;
import com.sapportals.portal.prt.service.IService;
CrtClassLoader Registration
Component KM Services
Runtime Factory
CrtClassLoader
Registry
register
register
ca.name=MyCMPortalApplication.prjconfig
ca.version=6.0.1.1
ca.creation.time=1117
ca.creation.date=20040826
ca.creation.user=unknown
ca.creation.machine=unknown
ca.dependencies: bc.util.prjconfig,
bc.sf.prjconfig, bc.sf.service.prjconfig,
bc.rf.prjconfig
cma.name=MyCMPortalApplication.prjconfig
cma.version=6.0.1.1
cma.storage=sfs
cma.creation.time=1117
Structure: cma.creation.date=20040826
cma.creation.user=unknown
src.config/install/data/cm/ cma.creation.machine=unknown
src.config/install/meta/expanded/cm/ cma.dependencies: bc.util.prjconfig,
bc.sf.prjconfig, bc.sf.service.prjconfig,
SAP AG 2004, SAP NetWeaver RIG Expert Call / 41
bc.rf.prjconfig
SAP NetWeaver Developer Studio For KMC
2. Instance definition
(com.test.MyNamespaceFilter.co.xml):
<Configurable configclass="com.test.MyNamespaceFilter">
<property name="name"
value="com.test.MyNamespaceFilter" />
<property name="active" value="true" />
<property name="description" />
</Configurable>
portalapp.xml:
Public Web:
www.sap.com
SAP Developer Network: www.sdn.sap.com Knowledge Management
Code Samples
SAP Developer Network: www.sdn.sap.com Knowledge Management
NetWeaver Developer Guide
Q&A