Skip to content
Snippets Groups Projects
Commit ac306ee8 authored by Jonathan Schöbel's avatar Jonathan Schöbel
Browse files

docs: started history chapter

parent 59f37772
No related branches found
No related tags found
No related merge requests found
......@@ -47,6 +47,81 @@ Toolkit, is a library for creating web applications on a webserver
on runtime. It is written for my personal use, but may be useful for
others.
A short remark about the evolving of the project and it's name can be
found in
@ifnottex
@ref{History}.
@end ifnottex
@iftex
the next chapter.
@end iftex
@menu
* History::
@end menu
@node History
@section History
In early 2020, I started to write a website for my family as a
replacement for the older website, which wasn't working thoroughly
any more, due to being dated, so that dependencies had already vanished.
The new website happened to be written in Python (3) and started merely
as some functions inserting small strings into larger built-in strings,
which contained the HTML. Each webpage corresponded to a python file
and there was an additional file, which contained all the global
functions, needed by each webpage. While it was effective and also not
quite unmaintainable, it wasn't sophisticated enough to gratify me.
Also a lot of common code was inserted in every file, which also wasn't
quite elegant.
The successor became an approach, which is quite similar as the
library on hand. There was a class called CMSContent (which
resembles the NodeFragment being present here), that represented a
tree of HTML tags. There was a module mechanism implemented via a
base module, which provided the module functionality and some
abstract methods (a concept not existing in python). These abstract
methods were then overridden by the actual modules. The creation of
HTML a module provides was parted in four steps:
collecting of offline data (i.e. from the database),
collecting of online data (i.e. from another website),
creating the CMSContent tree and
generating the HTML, which was done via the created CMSContent tree.
A fifth step automatically creating menu entries was never finished.
There also existed a separate class for managing the database and
the class CMS, which glued everything together. Static HTML was
also created as part of the CMSContent tree and stored normalized
in the database.
While the whole concept became quite elaborated (indenting the HTML
was done automatically and it also became capable of automatically
generating the CSS, while a automatic generation of the navigation
elements wasn't completed), there were also some issues.@*
Firstly, the whole system was developed further and further without
actually implementing the website in terms of the system. Thus,
the website became quite chaotic, as the code mixed using different
concepts and system versions. Eventually the development become
divergent from the running website, so that the system evolved, but
the website doesn't evolved as well. This became a problem, as more
bugfixes were done and also some functionality was added to the website,
which wasn't exactly compatible with the new system. It also happened,
as it was considered easier to do the switch, when the implementation
would have become more maturate and stable, but this never happened,
because more features became apparent, that would be nice and ease
the rewrite based on the new system.@*
Secondly, while the code was pretty fast, maybe also because in each
generation step basically everything could run in parallel, the website
became very slow, because python needed between one and two seconds on
the webserver and between three and five seconds on my local computer
for parsing and interpreting the code, which is definitely to long
for a website. This was also valid, for the running version, which
used very little of the code, which couldn't be separated from the rest.
@c mention python typing issues
@c mention intermediate projects
@node Index
@unnumbered Index
......
......@@ -36,7 +36,7 @@ FILE_NAME_3=84;Make;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fp
FILE_NAME_4=73;Make;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2FMakefile.am;0;8
FILE_NAME_5=19;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Fmain.c;0;8
FILE_NAME_6=85;Make;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fdocs%2FMakefile.am;0;8
FILE_NAME_7=99;None;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fdocs%2Fsefht.texi;0;8
FILE_NAME_7=4594;None;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fdocs%2Fsefht.texi;0;8
FILE_NAME_8=31034;None;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fdocs%2Fcommit_messages.txt;0;8
FILE_NAME_9=1867;Make;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2FMakefile.am;0;8
FILE_NAME_10=18;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fcms.c;0;8
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment