Skip to content

Archive Trac preliminaryoverview

madscatt edited this page Jun 20, 2026 · 1 revision

Preliminaryoverview

Legacy Trac archive page imported from preliminaryoverview. Source: https://genapp.rocks/wiki/wiki/preliminaryoverview. Review age, links, and examples before treating as current.

preliminary overview

  • 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

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

Clone this wiki locally