diff --git a/developer_manual/app/appdata.rst b/developer_manual/app/appdata.rst new file mode 100644 index 000000000..a09b2e1ca --- /dev/null +++ b/developer_manual/app/appdata.rst @@ -0,0 +1,45 @@ +======= +AppData +======= + +.. sectionauthor:: Roeland Jago Douma + +Often an app wants to store data. However not all data that is stored belongs with the users files. +Often you just want a very simple storage to have some temp files. In order to facilitate this there +is the AppData folder that provides each app with a private simple filesystem. + +Usage is almost trivial when your app is using the AppFramework. + +.. code-block:: php + + appData = $appData; + } + } + +This gives your controller access to the IAppData simple filesystem of your app. + +The Simple Filesystem +===================== + +The `IAppData` uses the simple filesystem. This is a very simplified filesystem that will allow for easy +mapping to for example memcaches. The filesystem has three elements: `root`, `folder`, `file`. + +The `root` can only contain folders. And each folder can only contain a files. This is limited to keep +things simple and to allow easy mapping to other backends. For example a sysadmin might chose to map the +avatars to fast storage since they are used often. diff --git a/developer_manual/app/index.rst b/developer_manual/app/index.rst index 500ecb77b..67695f567 100644 --- a/developer_manual/app/index.rst +++ b/developer_manual/app/index.rst @@ -28,6 +28,7 @@ database configuration filesystem + appdata users two-factor-provider hooks