Difference between revisions of "GNUrc"
(→/etc/dbscripts: remove dupe...) |
(→Directory structure: Adding 1-lib...) |
||
Line 123: | Line 123: | ||
* [http://svn.savannah.gnu.org/viewvc/branches/development/jj5-mvc/src/test.php?root=remotecontrol&view=markup test.php] -- the main include file for use by PHPUnit unit tests. | * [http://svn.savannah.gnu.org/viewvc/branches/development/jj5-mvc/src/test.php?root=remotecontrol&view=markup test.php] -- the main include file for use by PHPUnit unit tests. | ||
− | ==== [http://svn.savannah.gnu.org/viewvc/branches/development/jj5-mvc/src/ | + | ==== [http://svn.savannah.gnu.org/viewvc/branches/development/jj5-mvc/src/1-lib/?root=remotecontrol /src/1-lib] ==== |
− | The [http://svn.savannah.gnu.org/viewvc/branches/development/jj5-mvc/src/ | + | The [http://svn.savannah.gnu.org/viewvc/branches/development/jj5-mvc/src/1-lib/?root=remotecontrol /src/1-lib] directory contains function modules. |
− | * [http://svn.savannah.gnu.org/viewvc/branches/development/jj5-mvc/src/ | + | * [http://svn.savannah.gnu.org/viewvc/branches/development/jj5-mvc/src/1-lib/01-api.php?root=remotecontrol&view=markup 01-api.php] -- an API for singletons and helper methods. |
− | * [http://svn.savannah.gnu.org/viewvc/branches/development/jj5-mvc/src/ | + | * [http://svn.savannah.gnu.org/viewvc/branches/development/jj5-mvc/src/1-lib/02-constants.php?root=remotecontrol&view=markup 02-constants.php] -- constants definitions. |
− | * [http://svn.savannah.gnu.org/viewvc/branches/development/jj5-mvc/src/ | + | * [http://svn.savannah.gnu.org/viewvc/branches/development/jj5-mvc/src/1-lib/20-array.php?root=remotecontrol&view=markup 20-array.php] -- functions for working with arrays. |
− | * [http://svn.savannah.gnu.org/viewvc/branches/development/jj5-mvc/src/ | + | * [http://svn.savannah.gnu.org/viewvc/branches/development/jj5-mvc/src/1-lib/25-types.php?root=remotecontrol&view=markup 25-types.php] -- functions for determining data types. |
− | * [http://svn.savannah.gnu.org/viewvc/branches/development/jj5-mvc/src/ | + | * [http://svn.savannah.gnu.org/viewvc/branches/development/jj5-mvc/src/1-lib/29-conversion.php?root=remotecontrol&view=markup 29-conversion.php] -- functions for converting values. |
− | * [http://svn.savannah.gnu.org/viewvc/branches/development/jj5-mvc/src/ | + | * [http://svn.savannah.gnu.org/viewvc/branches/development/jj5-mvc/src/1-lib/30-formatting.php?root=remotecontrol&view=markup 30-formatting.php] -- functions for formatting data. |
− | * [http://svn.savannah.gnu.org/viewvc/branches/development/jj5-mvc/src/ | + | * [http://svn.savannah.gnu.org/viewvc/branches/development/jj5-mvc/src/1-lib/35-validation.php?root=remotecontrol&view=markup 35-validation.php] -- functions for validating data. |
− | * [http://svn.savannah.gnu.org/viewvc/branches/development/jj5-mvc/src/ | + | * [http://svn.savannah.gnu.org/viewvc/branches/development/jj5-mvc/src/1-lib/37-defaults.php?root=remotecontrol&view=markup 37-defaults.php] -- default settings. |
− | * [http://svn.savannah.gnu.org/viewvc/branches/development/jj5-mvc/src/ | + | * [http://svn.savannah.gnu.org/viewvc/branches/development/jj5-mvc/src/1-lib/40-late-constants.php?root=remotecontrol&view=markup 10-late-constants.php] -- late message and error definitions. |
− | * [http://svn.savannah.gnu.org/viewvc/branches/development/jj5-mvc/src/ | + | * [http://svn.savannah.gnu.org/viewvc/branches/development/jj5-mvc/src/1-lib/45-intl.php?root=remotecontrol&view=markup 45-intl.php] -- i18n helper functions/API. |
− | * [http://svn.savannah.gnu.org/viewvc/branches/development/jj5-mvc/src/ | + | * [http://svn.savannah.gnu.org/viewvc/branches/development/jj5-mvc/src/1-lib/55-calc.php?root=remotecontrol&view=markup 55-calc.php] -- functions for calculating. |
− | * [http://svn.savannah.gnu.org/viewvc/branches/development/jj5-mvc/src/ | + | * [http://svn.savannah.gnu.org/viewvc/branches/development/jj5-mvc/src/1-lib/60-html.php?root=remotecontrol&view=markup 60-html.php] -- functions for working with HTML. |
− | * [http://svn.savannah.gnu.org/viewvc/branches/development/jj5-mvc/src/ | + | * [http://svn.savannah.gnu.org/viewvc/branches/development/jj5-mvc/src/1-lib/65-http.php?root=remotecontrol&view=markup 65-http.php] -- functions for working with HTTP. |
− | * [http://svn.savannah.gnu.org/viewvc/branches/development/jj5-mvc/src/ | + | * [http://svn.savannah.gnu.org/viewvc/branches/development/jj5-mvc/src/1-lib/70-comparison.php?root=remotecontrol&view=markup 70-comparison.php] -- comparison functions. |
+ | * [http://svn.savannah.gnu.org/viewvc/branches/development/jj5-mvc/src/1-lib/75-logic.php?root=remotecontrol&view=markup 75-logic.php] -- miscellaneous program logic. | ||
+ | * [http://svn.savannah.gnu.org/viewvc/branches/development/jj5-mvc/src/1-lib/80-datetime.php?root=remotecontrol&view=markup 80-datetime.php] -- functions for working with dates and times. | ||
+ | * [http://svn.savannah.gnu.org/viewvc/branches/development/jj5-mvc/src/1-lib/98-handlers.php?root=remotecontrol&view=markup 98-handlers.php] -- functions for error and exception handling. | ||
+ | * [http://svn.savannah.gnu.org/viewvc/branches/development/jj5-mvc/src/1-lib/99-screen.php?root=remotecontrol&view=markup 99-screen.php] -- global program logic. | ||
+ | |||
+ | ==== [http://svn.savannah.gnu.org/viewvc/branches/development/jj5-mvc/src/2-obj/?root=remotecontrol /src/2-obj] ==== | ||
+ | |||
+ | The [http://svn.savannah.gnu.org/viewvc/branches/development/jj5-mvc/src/2-obj/?root=remotecontrol /src/2-obj] directory contains PHP classes used by GNUrc that do not fit in another category. | ||
+ | |||
+ | * [http://svn.savannah.gnu.org/viewvc/branches/development/jj5-mvc/src/2-obj/GrcDataPage.php?root=remotecontrol&view=markup GrcDataPage.php] -- represents and manipulates pagination settings. | ||
+ | * [http://svn.savannah.gnu.org/viewvc/branches/development/jj5-mvc/src/2-obj/GrcDataSort.php?root=remotecontrol&view=markup GrcDataSort.php] -- represents and manipulates sorting settings. | ||
+ | * [http://svn.savannah.gnu.org/viewvc/branches/development/jj5-mvc/src/2-obj/GrcError.php?root=remotecontrol&view=markup GrcError.php] -- the API for declaring and raising software errors. | ||
+ | * [http://svn.savannah.gnu.org/viewvc/branches/development/jj5-mvc/src/2-obj/GrcHtmlComposite.php?root=remotecontrol&view=markup GrcHtmlComposite.php] -- an object to contain a list of HTML elements. | ||
+ | * [http://svn.savannah.gnu.org/viewvc/branches/development/jj5-mvc/src/2-obj/GrcHtmlElement.php?root=remotecontrol&view=markup GrcHtmlElement.php] -- a class to model a HTML element. The global arrays in this file describe the various support for HTML by HTML4, XHTML and HTML5. | ||
+ | * [http://svn.savannah.gnu.org/viewvc/branches/development/jj5-mvc/src/2-obj/GrcHtmlView4.php?root=remotecontrol&view=markup GrcHtmlView4.php] -- a class for rendering HTML 4. | ||
+ | * [http://svn.savannah.gnu.org/viewvc/branches/development/jj5-mvc/src/2-obj/GrcHtmlView5.php?root=remotecontrol&view=markup GrcHtmlView5.php] -- a class for rendering HTML 5. | ||
+ | * [http://svn.savannah.gnu.org/viewvc/branches/development/jj5-mvc/src/2-obj/GrcHtmlViewX.php?root=remotecontrol&view=markup GrcHtmlViewX.php] -- a class for rendering XHTML. | ||
+ | * [http://svn.savannah.gnu.org/viewvc/branches/development/jj5-mvc/src/2-obj/GrcIntl.php?root=remotecontrol&view=markup GrcIntl.php] -- a class to support an internationalization (i18n) API. | ||
+ | * [http://svn.savannah.gnu.org/viewvc/branches/development/jj5-mvc/src/2-obj/GrcListShuffler.php?root=remotecontrol&view=markup GrcListShuffler.php] -- an object for shuffling a list, i.e. remove/first/previous/next/last. | ||
+ | * [http://svn.savannah.gnu.org/viewvc/branches/development/jj5-mvc/src/2-obj/GrcMessage.php?root=remotecontrol&view=markup GrcMessage.php] -- a class for declaring system messages (and aiding their translation). | ||
+ | * [http://svn.savannah.gnu.org/viewvc/branches/development/jj5-mvc/src/2-obj/GrcPageLinks.php?root=remotecontrol&view=markup GrcPageLinks.php] -- a class for modelling page links, e.g. first/last/next/previous/size=N/etc. | ||
+ | * [http://svn.savannah.gnu.org/viewvc/branches/development/jj5-mvc/src/2-obj/GrcTableView.php?root=remotecontrol&view=markup GrcTableView.php] -- a class for rendering tabular data as HTML. | ||
+ | * [http://svn.savannah.gnu.org/viewvc/branches/development/jj5-mvc/src/2-obj/GrcUrl.php?root=remotecontrol&view=markup GrcUrl.php] -- an API for modelling URLs. | ||
=== Web interface === | === Web interface === |
Revision as of 07:18, 9 April 2015
GNUrc is the GNU Remote Control software. That's the software that aids in the maintenance of your thermostats. For other projects see projects.
Status
v1.1 released, v2.0 under development.
Motivation
To seek operational efficiencies in air-conditioners thereby saving electricity and improving comfort.
Administration
Contributors
Members who have contributed to this project. Newest on top.
All contributors have agreed to the terms of the Contributor License Agreement. This excludes any upstream contributors who tend to have different administrative frameworks.
Upstream (GNU) contributors: GNU Remote Control Contributors
Copyright
Copyright 2015, Contributors.
License
Licensed under the AGPL.
Resources
Downloads
See the home page for downloads.
Source code
See the home page for source code.
Links
- www.gnurc.com, the GNUrc developer portal
Specifications
Functional specification
The functional specification describes what the project does.
Administration dashboard
The administration dashboard is an administrator's home page. From the administration dashboard an administrator can access:
- User administration
- Language administration
- Group administration
- Error reporting
User administration
Language administration
Group administration
Error reporting
Error logging
Error log testing
Technical specification
The technical specification describes how the project works.
Directory structure
The software has the following directory structure starting in the base:
/
The base directory is /path/to/your/gnurc.
- .svn-ignore -- files for Subversion (svn) to ignore
- e.g.: $ svn propset svn:ignore -RF .svn-ignore .
- config.example.php -- an example config file
- config.php -- the production config file
- e.g.: $ cp config.example.php config.php; vim config.php
/dat
The /dat directory is for data files.
- lang.dat -- the language subtag registry
- lang.ser -- the serialized PHP data-structure of the processed lang.dat file.
/etc
The /etc directory is for miscellaneous scripts.
- download-language-data.sh -- downloads the lang.dat file
/etc/dbscripts
The /etc/dbscripts directory is an svn:externals for the database scripts:
svn://svn.sv.gnu.org/remotecontrol/branches/development/dbscripts
- .svn-ignore -- files for Subversion (svn) to ignore
- .svn-ignore.sh -- a script to apply the svn-ignore settings.
- README.md -- the README file for the dbscripts.
- gnurc-db.sql -- a script to create a "gnurc" database.
- gnurc-schema.sql -- a script to apply the GNUrc schema to the 'current' database.
- gnurc-data.sql -- a script to insert default/global data.
- gnurc-test.sql -- a script to load test data.
- make-db.sh -- a script to create/upgrade a GNUrc database.
/src
The /src directory is for most of the source code.
- include.php -- the main include file for loading the GNUrc software components.
- test.php -- the main include file for use by PHPUnit unit tests.
/src/1-lib
The /src/1-lib directory contains function modules.
- 01-api.php -- an API for singletons and helper methods.
- 02-constants.php -- constants definitions.
- 20-array.php -- functions for working with arrays.
- 25-types.php -- functions for determining data types.
- 29-conversion.php -- functions for converting values.
- 30-formatting.php -- functions for formatting data.
- 35-validation.php -- functions for validating data.
- 37-defaults.php -- default settings.
- 10-late-constants.php -- late message and error definitions.
- 45-intl.php -- i18n helper functions/API.
- 55-calc.php -- functions for calculating.
- 60-html.php -- functions for working with HTML.
- 65-http.php -- functions for working with HTTP.
- 70-comparison.php -- comparison functions.
- 75-logic.php -- miscellaneous program logic.
- 80-datetime.php -- functions for working with dates and times.
- 98-handlers.php -- functions for error and exception handling.
- 99-screen.php -- global program logic.
/src/2-obj
The /src/2-obj directory contains PHP classes used by GNUrc that do not fit in another category.
- GrcDataPage.php -- represents and manipulates pagination settings.
- GrcDataSort.php -- represents and manipulates sorting settings.
- GrcError.php -- the API for declaring and raising software errors.
- GrcHtmlComposite.php -- an object to contain a list of HTML elements.
- GrcHtmlElement.php -- a class to model a HTML element. The global arrays in this file describe the various support for HTML by HTML4, XHTML and HTML5.
- GrcHtmlView4.php -- a class for rendering HTML 4.
- GrcHtmlView5.php -- a class for rendering HTML 5.
- GrcHtmlViewX.php -- a class for rendering XHTML.
- GrcIntl.php -- a class to support an internationalization (i18n) API.
- GrcListShuffler.php -- an object for shuffling a list, i.e. remove/first/previous/next/last.
- GrcMessage.php -- a class for declaring system messages (and aiding their translation).
- GrcPageLinks.php -- a class for modelling page links, e.g. first/last/next/previous/size=N/etc.
- GrcTableView.php -- a class for rendering tabular data as HTML.
- GrcUrl.php -- an API for modelling URLs.
Web interface
admin-home.php
The admin-home.php
Notes
Notes for implementers
If you are interested in incorporating this software into your project, here's what you need to know:
Notes for developers
If you're looking to set up a development environment for this project here's what you need to know:
Tasks
TODO
Things to do, in rough order of priority:
- Document system design
- Generate task list
- Allocate tasks to developers
Done
Stuff that's done. Latest stuff on top.
- JE 2015-04-01: created project page