So Cliff wanted me to send out an email with some pointers about where
to start for doing Java development on Spacewalk.


Here's a list of the things i would review in order:

1.  https://fedorahosted.org/spacewalk/wiki/DevelopmentWorkstationSetup

After following these steps your workstation will be setup such that the
WebApp is running out of git.  Any changes to the code on the file
system will be recognized simply by running "ant" in the java directory
and then restarting tomcat.  Your database can either be run on the box
itself, or on a 2nd machine.

2.  https://fedorahosted.org/spacewalk/wiki/EclipseSetup

It is highly recommended to setup eclipse for java development.  As a
bonus, you do not have to run 'ant' to recompile your code, eclipse will
do that for you.  After changes all you need to do is simply restart tomcat


3.  Try to tackle an api addition.

There aren't too many apis here, but I'm hoping to add more very soon.

The code implementing api calls is fairly well isolated but touches on
the manager and data layers a good bit.  It's the best place to
contribute if you are new to the code stack.

Pick an api call that sounds interesting from here:
https://fedorahosted.org/spacewalk/wiki/ApiAdditions

You will be working in a particular handler.  For example, if you are
implementing "system.foo()", you would want to start looking in
SystemHandler.java.

There will be some more documentation coming around creating APIs, i'll
send out that link when it is available.


4. After doing a couple of apis you may want to try migrating a perl
page to java.

https://fedorahosted.org/spacewalk/wiki/RemainingPxtPages

I would recommend some of the SDC (System details) pages, as many of
those are fairly simple.

This will require some knowledge in Hibernate, Data Source, Navigation,
Struts, and jsps.





Some additional resources to review:

Basic Overview of java stack:
https://fedorahosted.org/spacewalk/wiki/JavaDesign

The navigation system.  Usually only needed when adding a java page:
https://fedorahosted.org/spacewalk/wiki/NavigationSystem

Creating lists within the WebUI:
https://fedorahosted.org/spacewalk/wiki/ListTag






-- 
Justin Sherrill, RHCA          1801 Varsity Drive.
Software Engineer                Raleigh, NC 27603
Red Hat, Inc.

_______________________________________________
Spacewalk-devel mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/spacewalk-devel

Reply via email to