Ferreteria: Difference between revisions
(Created page with "Ferreteria is a web application framework I'm writing in PHP. It originally emerged from writing VbzCart, when I realized a lot of the classes and techniques I'd creat...") |
No edit summary |
||
(23 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
[[Ferreteria]] is a web application framework | [[category:project]] | ||
==About== | |||
[[Ferreteria]] is a [[PHP]] web application framework. Its basic design does not rely on any special characteristics of the PHP language or environment and should be portable to other languages. The name literally means "hardware" in Spanish; I used it because I came across the word in a hardware store full of useful tools, which made it seem somehow appropriate as a name for a software toolkit, and also because I seem to be using the affix "ferret" in a lot of my software projects. | |||
Because it does not use JavaScript (JS), it is very fast; response-times tend to be comparable to a "single-page app" framework written in JS, except that the initial load is as quick as subsequent reloads and all of the navigation links are bookmarkable. | Because it does not use JavaScript (JS) for core functionality, it is very fast; response-times tend to be comparable to a "single-page app" framework written in JS, except that the initial load is as quick as subsequent reloads and all of the navigation links are bookmarkable. | ||
It originally emerged from writing [[VbzCart]], when I realized a lot of the classes and techniques I'd created (starting with the database classes) could be used for other applications as well. | |||
{| class=wikitable | |||
|- | |||
| valign=top | | |||
==Features== | ==Features== | ||
* '''User management''' | * '''User management''' | ||
Line 14: | Line 21: | ||
** functions for specific tables can be built by descending from more general classes | ** functions for specific tables can be built by descending from more general classes | ||
** URL-linkable tables, records | ** URL-linkable tables, records | ||
== | ===Premises=== | ||
* | Every Ferreteria app will have ''some'' kind of on-server database, even if it's just a text file. (Currently only MySQL/MariaDB wrapper-classes are written.) | ||
| valign=top | | |||
==Pages== | |||
* [[/install]] | |||
* [[/errors]]: elaboration on various error messages | |||
* [[/modules]]: available drop-in modules (includes table design pages) | |||
* [[/archive]]: obsolete pages | |||
For coding conventions used within Ferreteria, see [[conventions/coding]]. | |||
===versions=== | |||
Versions 1-3 need to be renamed to 0.1-0.3 because they're all pre-release. This has been done in the docs for v0.3, but some code referencing v3 may still exist. | |||
* '''[[/v0.5|version 0.5]]''': major refactoring: namespaces, status objects, reworking of array objects, workspaces... | |||
* '''[[/v0.4|version 0.4]]''': recordsets split into single-row records and multiple-row recordsets; using status objects more | |||
* '''[[/v0.3|version 0.3]]''': had to temporarily abandon several weeks of work on this in January 2019 | |||
** [[/v0.3/class]]es | |||
** [[/v0.3/fx]] (functions) | |||
** [[/v0.3/usage/forms]]: early v3 usage documentation, probably needs update | |||
* '''[[/v2|version 2]]''', 2017-2019: basically Ferreteria 1 with db.v2 | |||
** [[/v2/class]]: class structure | |||
** [[/v2/usage]]: how to do things in Ferreteria, how the pieces work | |||
* '''[[/v1|version 1]]''' never really had much documentation | |||
** [[/v1/usage/forms]] | |||
| valign=top | | |||
==Apps== | |||
* [[Greenmine]] | |||
** [[FinanceFerret]] | |||
** [[WorkFerret]] | |||
* [[VbzCart]] | |||
* [[Wikcess]] | |||
==Links== | |||
===Official=== | |||
* [https://gitlab.com/woozalia/ferreteria GitLab]: code repository | |||
* [http://rm.vbz.net/projects/ferreteria Redmine @ vbz]: project tracker | |||
|} |
Latest revision as of 15:41, 30 October 2022
About
Ferreteria is a PHP web application framework. Its basic design does not rely on any special characteristics of the PHP language or environment and should be portable to other languages. The name literally means "hardware" in Spanish; I used it because I came across the word in a hardware store full of useful tools, which made it seem somehow appropriate as a name for a software toolkit, and also because I seem to be using the affix "ferret" in a lot of my software projects.
Because it does not use JavaScript (JS) for core functionality, it is very fast; response-times tend to be comparable to a "single-page app" framework written in JS, except that the initial load is as quick as subsequent reloads and all of the navigation links are bookmarkable.
It originally emerged from writing VbzCart, when I realized a lot of the classes and techniques I'd created (starting with the database classes) could be used for other applications as well.
Features
PremisesEvery Ferreteria app will have some kind of on-server database, even if it's just a text file. (Currently only MySQL/MariaDB wrapper-classes are written.) |
Pages
For coding conventions used within Ferreteria, see conventions/coding. versionsVersions 1-3 need to be renamed to 0.1-0.3 because they're all pre-release. This has been done in the docs for v0.3, but some code referencing v3 may still exist.
|
AppsLinksOfficial
|