Skip to content

WinterfaceDevelopment/Winterface

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Winterface seperates logic and template of Freenet's web interface, enforces a better modularization and makes theming easier.

Winterface freesite

For a more comprehensive description see the Wiki page at FreenetProject.org

Get the latest released version of Winterface, along with instructions on how to load it from the Winterface Updates freesite.

Rationale

Current Freenet's web interface FProxy uses HTMLNodes in combination with ToadletServer to deliver HTML-Pages. This has the disadvantage of mixed template and logic which makes it hard to separately make changes to each of them. Moreover debugging and understanding of code can be very exhausting.

Overview

Winterface is delivered as a Fred plugin:

  • It uses Apache Velocity as its component-based web-framework to generate HTML files from templates
  • Jetty (embedded) as a serlvet-container is used to deliver Velocity generated servlets.
  • It should completely replace replace FProxy,ToadletServer and associated Toadlets
  • It ''should'' make it possible to override Templates (HTML files) and design (CSS+JS)

What is to do:

  • Create HTML templates and corresponding servlet logic for each existing Toadlet
  • Make reusable components (e.g. Panels) for reusable templates (e.g. Alerts)
  • Eventually add new functionalities

Prerequisites

Requires freenet and freenet-ext. As these are not currently available in Maven repositories, after downloading them or building them from source, install them:

mvn install:install-file -Dfile=freenet.jar -DgroupId=org.freenetproject -DartifactId=fred -Dversion=0.7.5.1467 -Dpackaging=jar
mvn install:install-file -Dfile=freenet-ext.jar -DgroupId=org.freenetproject -DartifactId=freenet-ext -Dversion=29 -Dpackaging=jar

Building

This will download the remaining dependencies from the Internet.

mvn package

Using

Enter the path to the file with a name ending in jar-with-dependencies.jar under the target directory into the "Add an Unofficial Plugin" field on the Configuration > Plugins page and click "Load."

Licences

Icons used for the interface are created by Mark James and released under Creative Commons Attribution 3.0 License

Releases

No releases published

Packages

No packages published

Languages

  • Java 75.4%
  • CSS 24.1%
  • JavaScript 0.5%