We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

WebDAV reloaded

00:00

Formal Metadata

Title
WebDAV reloaded
Title of Series
Number of Parts
22
Author
Contributors
License
CC Attribution - ShareAlike 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
Status update on what has been done in a period of one year compared to last years conference.
WebDAVView (database)Point (geometry)Web 2.0MereologyStandard deviationClient (computing)Group actionFront and back endsDecision tree learningCommunications protocolSynchronizationPoint cloudAddress spaceComputer filePhysical systemMachine visionCore dumpAvatar (2009 film)Data storage deviceInstance (computer science)Revision controlMechanism designServer (computing)Multiplication signExtension (kinesiology)InformationAdditionComputer animation
Point cloudExplosionLimit (category theory)LoginDigital filterElectronic visual displayGroup actionINTEGRALTraffic reportingEnumerated typePlug-in (computing)Doubling the cubeDependent and independent variablesMobile appSoftware developerElectronic mailing listExtension (kinesiology)TouchscreenCASE <Informatik>Web 2.0Radical (chemistry)AreaRemote procedure callLimit (category theory)Category of beingElectronic visual displayType theoryMereologyComputer filePoint cloudBitQuery languageLoginAdditionWeb browserObject (grammar)System callMechanism designLevel (video gaming)View (database)Electric generatorImplementationPoint (geometry)Content (media)ParsingRandomizationFeedbackNumerical integrationCommunications protocolMathematicsWebDAVRow (database)PlastikkarteLecture/ConferenceComputer animation
Transcript: English(auto-generated)
Good afternoon, I would like to talk about
I want to talk about web.dev today For those of you who've been with us last year, last I've been talking about web.dev as well And I want to give you an overview of what happened in the last year And what will be the next steps that we plan to do up there? So
First of all, we managed with UNCLOUD 9 to bring the full CALDAV and CARTAV backend into core. So calendar and contact synchronization from the backend point of view is an integral part of the UNCLOUD server itself Just I think one or two weeks back we brought in a new feature into the calendar backend
Which is public calendar sharing Thank you There will also be a talk about this, right? Great
In addition to that we use the whole CARTAV mechanism for synchronizing contacts amongst federated servers So as soon as you set up a trusted server relationship between the UNCLOUD instances, the system address books Which are also CARTAV backends will be synchronized using the CARTAV synchronization mechanism
So it's not only let's say the Community feature of syncing my private contacts and calendars, but it's really also we leverage it to make it an integral part of the overall ecosystem What else did we do? Yeah
Our chunked upload mechanism as already explained many times in the talks today Was shipped with 9.1 finally within the upcoming versions We'll integrate this into the clients and also push this piece further Also, we have two features for commenting and
Adding tags to files and folders This from an API point of view. We also made this part of the web dev backend. So we have web dev resources for comments and tagging so using a web dev client basically
Allows you to add tags and comments to files Okay compared to the my talk last year, what did we not do up to now? There was also the idea to get our file preview mechanism realized via the web dev protocol This did not yet happen
Well, let's see what will happen in next month The same actually to some extent for the user avatars. This was a part of my talk last year Let's see how we bring this in within the next upcoming month Much more important for me is where do we want to go from now on I?
want my my vision or my idea, which I Happily want to discuss with you if you're interested is to leverage web dev as a unified API layer for own cloud So in the past we always were talking about
Yeah, web dev is the protocol the open standard for transferring files. Yes, but there is much more to it So basically web dev is for accessing resources and anything can be a resource. So for example Contacts and calendar information is no longer files as of today. It is also part of the overall web dev standard
Webdev also brings the concept of principles which are users and groups. So Let us all move that in there So What would this look like for example if we say we want to Create a new user for those of you who know our provisioning API
Which we use as of today as our official API to add users in groups Yeah, it's a bit of a nightmare Because if you want to change the quota, it's one call if you want to change display name It's another call you cannot pull the stuff together in one big call as you would
Naturally would expect it. So what we have as of today in this area is more of an Remote procedure call type of API it would be nice to move on a little bit more of a rest way of doing it So this is just a stupid example Don't paste this into your terminal will not work because there are some quotes and double quotes missing
Just to make it nice up there on the screen So basically, how do I create a user well, it's a put to a certain deaf resource to the users resource and I transmit chase an object in the body and set all the objects. I want to hold a
Properties I want to have in there Pretty simple from my point of view and to me this is already Really rest conform. This is rest. So what? Does not work with rest and in the or what does not so nice about the webdav area
There is a part of webdav, which is the prop find area where we have XML request bodies and response bodies that you have a parse around and Well, seriously XML Doesn't make fun Especially all those people who work in the browser using JavaScript parsing XML and generating XML. There is really a pain
We did this in the past month in our Files app because we moved away We moved the files app over to also purely use webdav and it's really yeah It's a nightmare to parse XML there so
Do we want to put this burden on any app developer or integrator out there? No, not really. So my idea would be Web dav by itself Allows us to extend the protocol with the so-called report requests
This basically It's just a way to extend the protocol as you like The report can have a request body the response can be whatever you would like Because they're using the content type negotiation. You can really say, okay Put the report over there. It is a JSON object in there and I expect the JSON to be back and
As soon as we do that, we will also make all the JavaScript browser developers happy in addition There is a downside of the prop find as today So prop find is used for enumerating the collection. So if you do a prop find on a folder you get the list of files
back If you have a really huge file It will be a really really huge XML you get back Prop file it has no mechanism that allows it to do pagination You cannot say give me the first thousand and then give me the next thousand in the next thousand. This is not possible
with this report mechanism we can do that because The the request body which is in JSON here in calif and card have to do is with with XML That's actually the same mechanism Within the request body we can add our own filter and
Pagination criteria we can really say okay. I only want the first 100 How would this look like It's a report The record the the the body of the request is a query I say, okay I want as properties I want the display name the quota last login and the filter is okay
Display name should be With John in the name and limit to I only want two objects back. The response will look like that then Jason Array with Jason objects in there you have your display name your quota your last login
This case is two guys. We have in the our user back end Just example random guys. I don't know them Yeah, so this is Idea we're currently working on to bring Let's say the own cloud API to the next level
This of course involves additional Integration points because as of today the web dev Implementation is isolated in one app. There is no way to allow app developers to integrate their own resources their own plugins their own extensions does something what we had to extend on and
To some extent we also seek out on feedback on this idea if this is something which would work out or not. So Find me running around somewhere out there and just catch me. I'm happy to discuss this idea Okay. Thank you