GithubHelp home page GithubHelp logo

antville / helma Goto Github PK

View Code? Open in Web Editor NEW

This project forked from helma-org/helma

3.0 3.0 1.0 50.79 MB

Antville Fork of Helma Object Publisher

Home Page: https://antville.org

License: Other

JavaScript 22.99% HTML 35.29% Shell 0.05% Java 38.90% XSLT 0.13% Batchfile 0.10% CSS 0.11% Perl 2.43%
application-server austria java javascript jetty orm rhino runtime scripting-java server-side-javascript since-2001 webserver

helma's Introduction

About Antville

Antville is an open source project providing a high performance, feature-rich blog hosting software. Antville can host tens of thousands of blogs. Server power is the only limit. Installation and use is easy.

Antville is written in server-side JavaScript and developed with Helma Object Publisher. Antville works with a relational database in the back-end.

Look at the project site for more information.

Status

Antville’s codebase is of stable quality and ready for production deployment. Try out Antville.org for a demonstration.

There still could be bugs hidden in Antville’s source code. If you find one please let us know. The creators of Antville do not take any responsibility for what the software might do.

System Requirements

To run Antville you need Helma Object Publisher and a relational database software. We tested Antville with PostgreSQL and MySQLMariaDB should work, too.

To enable Antville sending notification e-mails you need access to an SMTP server.

Helma comes with an embedded webserver (Jetty) so you do not need to install one. Yet, you can also use the webserver of your choice.

For details please refer to the installation instructions of Helma Object Publisher and the corresponding software packages.

The INSTALL.md file contains detailed instructions to install Antville.

Documentation and Further Information

For documentation and further information about Antville you can refer to:

Feel free to ask any question about Antville at our support site.

Bug Reporting and Feature Requests

If you think you found a bug please let us know.

A great place for your feature requests or proposals is the project development site.

Antville is open-source, and we want to encourage you to change its code according to your likeness. We are curious about your ideas and suggestions. Feel free to drop us a message to [email protected] or through any channels mentioned before.

About Helma Object Publisher

Helma Object Publisher is an open source project providing a powerful, fast and scriptable web application server written in Java.

Define HopObjects and map them to a relational database table. Create, change and delete HopObjects at your whim using a comfortable object-container model. Manual fiddling around with database code is not necessary.

HopObjects extend the native JavaScript object. They got all the common features you know – and more. One highlight are the special templating features to ease the rendering of objects for the Web.

Combine HopObjects to create a hierarchical structure. A URL in Helma mirrors this structure. Each part of the URL path corresponds to a relational database mapping, similar to the document tree of static websites. Helma’s URL space is an analogy to the Document Object Model implemented in client-side JavaScript.

helma's People

Contributors

danielruthardt avatar dependabot[bot] avatar grob avatar hns avatar lehni avatar oberhamsi avatar p3k avatar renovate[bot] avatar zumbrunn avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

pgio

helma's Issues

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.


Warning

Renovate failed to look up the following dependencies: Failed to look up maven package net.sf.javamusictag:jid3lib.

Files affected: modules/jala/build.gradle


Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Detected dependencies

gradle
gradle.properties
settings.gradle
build.gradle
  • com.github.jk1.dependency-license-report 2.5
  • com.google.code.gson:gson 2.10.1
  • commons-codec:commons-codec 1.15
  • commons-fileupload:commons-fileupload 1.5
  • commons-logging:commons-logging 1.2
  • commons-net:commons-net 3.9.0
  • com.sun.mail:javax.mail 1.6.2
  • javax.servlet:javax.servlet-api 4.0.1
  • org.ccil.cowan.tagsoup:tagsoup 1.2.1
  • org.eclipse.jetty:jetty-servlet 9.4.51.v20230217
  • org.eclipse.jetty:jetty-xml 9.4.51.v20230217
  • org.mozilla:rhino 1.7.13
  • xerces:xercesImpl 2.12.2
  • xmlrpc:xmlrpc 2.0.1
launcher/build.gradle
modules/helma/build.gradle
  • ch.ethz.ganymed:ganymed-ssh2 build209
  • net.sourceforge.jexcelapi:jxl 2.5.7
  • org.apache.lucene:lucene-analyzers 2.2.0
  • org.apache.lucene:lucene-core 2.2.0
modules/jala/build.gradle
  • dom4j:dom4j 1.6.1
  • jaxen:jaxen 1.1-beta-8
  • net.sf.javamusictag:jid3lib 0.5.4
modules/jala/util/HopKit/build.gradle
  • bsf:bsf 2.4.0
modules/jala/util/Test/build.gradle
  • org.subethamail:subethasmtp-smtp 1.2
  • org.subethamail:subethasmtp-wiser 1.2
gradle-wrapper
gradle/wrapper/gradle-wrapper.properties
  • gradle 8.3

  • Check this box to trigger a request for Renovate to run again on this repository

Side-effects in jetty8 branch

With 51b5712 I cherry-picked (hopefully all?) changes for integrating Jetty 8 from @lehni’s fork and noticed that it breaks either the mountpoint setting in apps.properties or the baseUri setting in app.properties (or both).

Attached a test case which should demonstrate the issue.

Using the master branch there should be displayed success under the URL http://localhost:8080/helma/test while with the jetty8 branch a status 500 (“Object not found”) is returned.

(Are there any other side-effects?)

Prerequisites for building Helma

It went rather unnoticed on a rather fully equipped Linux machine that the following prerequisites are needed to build Helma:

  • Java 😜
  • npx (NodeJS)
  • rsync

This should at least be documented (Java is already, afair).

Untangle Helma for an Extended JavaScript Approach

The idea is to extract Java code from Helma and transform it into compatible JavaScript code. Ideally, this JS code would be running with Rhino as well as V8 (NodeJS) or even other engines.

Feasible

  • Global Object
  • HopObject (as far as no database is involved)
  • Skin rendering (i.e. templating; additionally, a popular template framework could be added, e.g. Mustache)
  • Java imaging
  • Repositories
  • Request/response framework (servlet, session?)
  • Helma extensions (DatabaseObject, FileObject etc.)
  • Command-line runner
  • HTTP server
  • DOM handling

Laborious

  • Code in util (Base64, CacheMap etc.)
  • Find and implement replacements for Java libs in userland (e.g. Rome in Antville)
  • HacHspConverter

Problematic

  • Application framework (i.e. core)
  • Database layer / object model (INode et al.)

Add support for jEnv

jEnv is a command line tool to help you forget how to set the JAVA_HOME environment variable

As a first step, simply add the .java-version file. This only contains the version number (e.g. 11.0).

Might come in handy using with Gradle's Java settings…?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.