WebDAV reloaded
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
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 | 10.5446/42785 (DOI) | |
Publisher | ||
Release Date | ||
Language |
Content Metadata
Subject Area | ||
Genre | ||
Abstract |
|
00:00
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
04:12
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)
00:12
Good afternoon, I would like to talk about
00:20
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
00:43
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
01:06
Which is public calendar sharing Thank you There will also be a talk about this, right? Great
01:21
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
01:44
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
02:01
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
02:23
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
02:41
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
03:00
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?
03:27
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
03:41
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
04:01
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
04:21
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
04:40
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
05:04
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
05:23
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
05:43
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
06:04
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
06:20
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
06:41
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
07:06
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
07:24
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
07:41
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
08:00
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
08:23
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
08:42
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
09:01
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
09:23
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