All of these components are necessary for an app based on the Advanced App Template to work.
3rd party javascript that can be integrated into the app.
Contains settings.php, which calls main() and connects main with the owncloud/admin page.
Maps file pathnames to URLs. This facilitates method calling or value extraction from certain URLs.
Provides navigation entry code that provides ownCloud with App ID, App Name, App Description, App Author, and App URL so that it can produce the App in the App Nav bar.
CoffeeScript files that compile into JavaScript files in js.
Contains the Controller functions that are used as part of the MVC framework.
Example:
.folder > .title {
background-image: url('%webroot%/core/img/places/myimage.png');
}
In order to use the formfactor, add it as part of the filename. For example:
style.mobile.css mystyle.standalone.css
Contains database layer for your app. Separates data entries from database queries.
Enables you to create testable code. This is done by decoupling class dependencies. Dependency Injection facilitates the automatic creating of unit tests. You can add your own created classes to dicontainer.php in order to enable the creation and maintenance of clean, testable code. See ownCloud: Dependency Injection for more details.
Contains all image files used by application.
Contains all JavaScript for the application.
There are two types of templates available to ownCloud apps–OC Templates and Twig Templates.
OC Templates provide template functions from the class OC_Templates.
Twig templates are the preferred template because they provide better prevention of XSS. In order to facilitate integration with ownCloud, the App Framework provides additional functions for Twig. These can be found here.
Contains unit tests for your application. Tests usually have the suffix Test appended to the filename of the corresponding code to be tested. For example, controllers/ItemController.php would have a test file named tests/controllers/ItemControllerTest.php. PHPUnit executes all files ending in Test.php. See Unit Testing for more information.