openoffice-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rajath Shashidhara <rajaths.raja...@gmail.com>
Subject Re: CMIS UCP
Date Sun, 02 Jun 2013 04:57:45 GMT
This is the getContentProviderScheme() implementation for ftp:

rtl::OUString SAL_CALL
FTPContentIdentifier::getContentProviderScheme(
)
    throw (
        com::sun::star::uno::RuntimeException
    )
{
    return rtl::OUString::createFromAscii("ftp");
}

So should I return a string "cmis"
?



On Sun, Jun 2, 2013 at 9:58 AM, Rajath Shashidhara <
rajaths.rajaths@gmail.com> wrote:

> Hello,
>
> Now that I have added a UNO Object of IDL type Content, there are some
> methods that need to be implemented.
> Out of which, com.sun.star.ucb.XContentIdentifier getIdentifier() is one
> of them.
> I have read the api reference for XContentIdentifier.
>
> It needs XComponentContext as an argument for its constructor.
>
> That can be obtained from the argument to the constructor of my UCP class.
> But, my question is what is identifier?
> Is it the name of the file/folder ?
> Also, the second method, getContentProviderScheme()
> does it refer to the way of writing the path as cmis://<path> ?
>
>
>
>
> On Sun, Jun 2, 2013 at 6:06 AM, Ariel Constenla-Haile <arielch@apache.org>wrote:
>
>> Hi Rajath,
>>
>> On Sun, Jun 02, 2013 at 12:12:11AM +0530, Rajath Shashidhara wrote:
>> > Hello,
>> >
>> > I read the wikipages about UCB and UCP(all the links in these mails),
>> One
>> > thing I did not understand is:
>> > What functions are called under what situations from the UCP?
>> > What are those functions supposed to do?
>> >
>> > For example:
>> > what is the function:
>> > registerInstance() supposed to do?
>> >
>> > What should be implemented in each of these methods?
>>
>> In these cases, you have to consult the API reference:
>>
>> http://www.openoffice.org/api/docs/common/ref/com/sun/star/ucb/ContentProvider.html
>> Both XContentIdentifierFactory and XParameterizedContentProvider are
>> optional.
>>
>> This is a little tricky: in general, an optional interface means that
>> you don't need to implement it if you don't need to; but in several
>> cases, new properties and interfaces are introduced as optional, as
>> a workaround, just because the service is published and cannot be
>> modified.
>>
>> For now, only implement the required interfaces, comment out the
>> optional ones, and later on, when you have the whole picture, you can
>> come back to this.
>>
>> The main interface for the css.ucb.ContentProvider is
>> css.ucb.XContentProvider. Concentrate on queryContent()
>>
>> http://www.openoffice.org/api/docs/common/ref/com/sun/star/ucb/XContentProvider.html#queryContent
>>
>> "creates a new XContent instance, if the given XContentIdentifier
>> matches a content provided by the implementation of this interface."
>>
>> If the content identifier is supported by your implementation (did you
>> already define this?), you have to return an object implementing
>>
>> http://www.openoffice.org/api/docs/common/ref/com/sun/star/ucb/Content.html
>> Here again, some interface are optionals; and in the documentation of
>> XCommandProcessor in this page you can find the set of commands and
>> properties, some are mandatory, some are optional.
>>
>> To create this new Java UNO object, right-click on the package, and
>> select New - Other.... On the "New File" dialog, choose "Apache
>> OpenOffice" under "Categories" and "Java UNO Object" under "File Types".
>> On the next step, select com.sun.star.ucb.Content as the "IDL Type" to
>> implement.
>>
>> IMO it is better to start implementing this step by step, and not using
>> the file picker to test, but a macro, like this one:
>> http://people.apache.org/~arielch/api/UCB_demo.odt
>>
>> Start with  "getPropertyValues" and do not bother by now with
>> authentication (this is a rather complex subject, IMO it is better to
>> get a general picture now), simply hard-code user and password in your
>> code. You can try with http://cmis.alfresco.com/ (with user=admin and
>> password=admin) or set-up your own server.
>>
>> "getPropertyValues" is the most basic UCB command. You have to implement
>> the mandatory properties. And implemente it in a way that you don't
>> download the file from the server, but simply read the metadata, see
>> http://chemistry.apache.org/java/examples/example-read-meta-content.html
>> You have to map CMIS metadata with UCB properties.
>>
>>
>> Regards
>> --
>> Ariel Constenla-Haile
>> La Plata, Argentina
>>
>
>
>
> --
> Rajath S,
> M.Sc(Hons.) Physics,
> Birla Institute of Technology and Science - Pilani,
> Pilani
>



-- 
Rajath S,
M.Sc(Hons.) Physics,
Birla Institute of Technology and Science - Pilani,
Pilani

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message