-
Notifications
You must be signed in to change notification settings - Fork 0
Archive Trac preliminaryoverview
Legacy Trac archive page imported from
preliminaryoverview. Source: https://genapp.rocks/wiki/wiki/preliminaryoverview. Review age, links, and examples before treating as current.
-
generate web & gui applications from same source
- applications could run locally (gui)
- cloud-enabled (web)
- direct service for quick computations
- queue mechanism for long computations
- generator in perl
- sources as text files
- benefits
- can add features create new interfaces etc with minimal effort
- changes to target code can be done without effecting the "base" logic
- i.e. if we generate Qt4 GUI code and want to move to Qt6, our underlying modules don't need to change
- text files allow "mouse-free" generation
- this means that further automation is easy
- can later target an application managing the application itself
-
editable text files
- json formats
-
registries
-
extend as needed
-
standard fields possible for every type
-
short_description
-
long_description
-
data types
-
basic
- int, float, double, long double, string, complex etc
-
derived types
- ip addr etc
-
multidimensional
- vector
- matrix
-
sets
-
lists
-
combinations
-
csv
-
structured
- saxs/sans data
- structure data
- pdb
-
hdf5
-
user-interface elements
-
may only be available for specific targets
-
modules
-
modules are the basic processing elements
-
inputs
- list of data types
-
outputs
-
chain
-
fan-in, fan-out
-
e.g.
- input csv output saxs .dat (a conversion module)
- input pdb, additional data output simulated saxs data (a saxs simulator)
- input pdb, output collection of pdbs (MD or docking simulation)
- input data, output plot image
- units conversion module (?)
-
targets
-
contains logic, description for conversion of code to targets
-
application
-
collection of modules
-
-
genapp
-
test targets
- sastbx
- haddock
- somo hydrodynamic calcs
- gnuplot
-
notes
- html5 boilerplate
-
e.g. a module may only run on 32 bit linux
- generating a GUI application for windows would call a server to handle those modules
- generating a GUI application for 32 bit linux would call locally
-
generate multiple targets simultaneously
- output/rev123/gui/qt4/{win32,win64,linux32,linux64,osx}
- output/rev123/web/
-
initial mock ups
- test 0 sqrt
- goals
- screen elements
- input / output pathway
- gui:qt
- local execution
- web
- REST service based execution
- local (vm?) server
- test 1 calculator
- test 2 2d plotting
- test 3 saxs calculator
-
doing
- test 0
- done: apache 2.4 & html5 boilerplate files on i7:/opt/httpd
- checked mods from https://github.com/h5bp/server-configs-apache/tree/master/doc
- add mod-sundown for .md https://github.com/kjdev/apache-mod-sundown
- the Makefile needed editing for correct httpd directory (I had 2 running)
- +Http.conf:
LoadModule apreq_module /usr/lib64/httpd/modules/mod_apreq2.so
LoadModule sundown_module /usr/lib64/httpd/modules/mod_sundown.so
<Location /markdown>
SetHandler sundown
</Location>
AddHandler sundown .md
- apreq2
- http://httpd.apache.org/apreq/download.cgi
- had to symlink /src/apache/modules/apache2 sundown/apreq2
- boilerplate elements.html
- create sample implementation in html
-
sample for gui/qt
-
firebug https://getfirebug.com
-
web user data
- "browse"
- store (mysql/php)
-
lavarel http://laravel.com/