On 10/28/2013 09:13 AM, JP Larsson wrote:
> Hi All,
> 
> My name is JP Larsson and I am a Software Engineering student at The
> University of Edinburgh in Scotland, UK. As part of our course we
> have to make some kind of contribution to an open-source project, and
> as I have been following Freenet for a while I thought I would try to
> be of use to the project.

Welcome!

> I am fairly proficient with Java and have a genuine interest in
> making a useful contribution, but as I am not that experienced with
> the source code of Freenet or the workflow of open-source development
> in general, could someone point me in the right direction regarding
> smaller tasks that a student such as myself could manage to get
> done?

The first question that comes to mind is "what part of the project do
you find interesting?" That might be a good place to start. If you don't
have anything attainable in mind, the bug tracker [0] and other people
here may have ideas as well. If you want help with anything please feel
free to post here or join us in #freenet on freenode. [1]

If you've never used IRC I should point out that while usage patterns
can vary, at a given time it might be that no one is there or has
anything to say. Those who always leave a client connected may choose to
respond hours or days later. Like email it is asynchronous.

On 10/28/2013 09:53 AM, Paulo Makdisse wrote:
> If I may, operhiem1 help me here: is the implementation of the UI
> something that a student can do? Maybe he can help us to accelerate
> the implementation process.

If that's something they're interested in, then certainly!

> JP Larsson, we believe that by making the UI more usable would lead
> to more users on freenet, that's why there is an effort (of 2) to do
> this. There is a proposal here: http://freenet.makdisse.com/ And the
> work is being done here:
> https://github.com/Thynix/Winterface/tree/velocity-dev What I thought
> is that you could sum efforts with Steve (operhiem) to implement the
> template files that I will create into the backend.

To provide context: the current web interface of Freenet (FProxy) grew
gradually over many years into something that is difficult to maintain
or modify. There is no separation between the backend and frontend
components - HTML is generated element-by-element in the Java code that
also performs actions and gathers data. I think I remember at least one
developer intending to contribute to the web interface, seeing the code,
and giving up.

Winterface is a web interface plugin for Freenet that was started by a
GSoC student. Paulo and I have forked it to continue work. Our goal is
to separate page templates and Java code. It makes it much more friendly
for web developers to change the interface around, and gives a much
nicer layer of separation for backend developers as well. I hope that
Winterface will be able to eventually replace FProxy, and make Fred
itself less concerned with user interface.

It seems like Paulo has been making progress on templates while I've
been too busy to keep up on the backend. Page templates expect objects
from the backend with certain names and attribute getters in order to
display things. Localization keys are one example.

One thing that is somewhat unsettling to me is that the templates can
test conditions and render different things depending on them. It will
require careful usage to keep that logic limited to things relevant to
display.

Paulo has been kind enough to document assumptions the template makes
about what the backend will provide, as done here. [2] If you'd like
more information about the templating engine this is using, the Velocity
user guide [3] may be helpful.

> What do you think Steve?

I think the prospect of more contributors is exciting. I'm afraid I'm
quite busy as a full-time student at the moment, so I don't have much
time to contribute outside of school. I'll be happy to help in whatever
ways my time constraints allow.

I hope that's helpful, and please feel free to let me know if you have
any questions.

- Steve

[0] https://bugs.freenetproject.org/
[1] https://freenetproject.org/irc.html
[2]
https://github.com/Thynix/Winterface/blob/velocity-dev/src/main/resources/templates/navbar.vm
[3] https://velocity.apache.org/engine/devel/user-guide.html

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Devl mailing list
[email protected]
https://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl

Reply via email to