Development Environment for SSP

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Development Environment for SSP

mridula
I was able to successfully build and deploy SSP version 2.6.0.

I would like to make some changes to the SSP application and add some functionality to it. I have opened the project in eclipse and all the projects under uPortal-ssp-2-6-0 have been imported.

However, I am having some trouble understanding the folder structure of the project. For example, if I want to make changes to MAPView.js, I can see that the same js is present in multiple folders. (See attached screenshot). So, which one should I make changes in?

Could you please help me understand the folder structure? Is there any article I can read specifically for developers? Also, is Eclipse the right development environment for SSP?

---
You are currently subscribed to [hidden email] as: [hidden email]
To unsubscribe, change settings or access archives, see http://www.ja-sig.org/wiki/display/JSG/ssp-dev

Eclipse.JPG (284K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Development Environment for SSP

Paul Spaude
Eclipse and other mainstream Java IDEs as well as any text editor will work for modifying SSP source. The folder structure follows typical Maven, Spring MVC and Java web development practices in order to be deployed into a Java Web Container (in this case Apache Tomcat). Maven is used as the build tool and some of the duplicates you see relate to the target directory. See here: http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html

The source files in src/main/java/* and src/main/webapp/app/* are the originals that need to be modified. Most of SSP's frontend uses the ExtJS Javascript framework and during the build process is minified. As such, any new JavaScript file that is added in src/main/webapp/app/ must also be added to the list in the ssp.jsb3 file to be minified at build time. The file app.js in src/main/webapp may need to be updated as well, depending on how the Javascript was added or changed.

Other notable locations are, all database changes are handled by liquibase in src/main/resources/org/jasig/ssp/database. Any new changeset file must also be added to the list in the changelog file that is ran after Tomcat startup and the changelog is specified in SSP_CONFIG/ssp-config.properties. SSP Reports are compiled during build time and originate from src/main/jasperreports/, and finally the MyGPS frontend code is located in src/main/coffee and doesn't use ExtJS. The rare set of features not in those locations would be standard JSP items or SSP-Platform/uPortal handled.

Here are some links for hiding target and other directories in Eclipse:

http://stackoverflow.com/questions/8213032/exclude-target-folder-from-search-results-in-eclipse

http://stackoverflow.com/questions/443169/exclude-folders-from-eclipse-search


Currently the only document specifically for developers is: https://wiki.jasig.org/display/SSP/SSP+Developer+Installation+Instructions



-Paul Spaude



----- Original Message -----
From: "Mridula" gmail.com>
To: [hidden email]
Sent: Wednesday, January 14, 2015 1:55:04 AM
Subject: [ssp-dev] Development Environment for SSP

I was able to successfully build and deploy SSP version 2.6.0.

I would like to make some changes to the SSP application and add some functionality to it. I have opened the project in eclipse and all the projects under uPortal-ssp-2-6-0 have been imported.

However, I am having some trouble understanding the folder structure of the project. For example, if I want to make changes to MAPView.js, I can see that the same js is present in multiple folders. (See attached screenshot). So, which one should I make changes in?

Could you please help me understand the folder structure? Is there any article I can read specifically for developers? Also, is Eclipse the right development environment for SSP?

---
You are currently subscribed to [hidden email] as: [hidden email]
To unsubscribe, change settings or access archives, see http://www.ja-sig.org/wiki/display/JSG/ssp-dev

---
You are currently subscribed to [hidden email] as: [hidden email]
To unsubscribe, change settings or access archives, see http://www.ja-sig.org/wiki/display/JSG/ssp-dev
Reply | Threaded
Open this post in threaded view
|

Re: Development Environment for SSP

Paul Spaude
In reply to this post by mridula
Replies are inline.

1) Give the 'Students' access to the 'MAP' tool for creating their own MAP.

In order to complete this objective, you are facing a large non-trivial development effort since the existing ExtJS SSP portlet UI and server side MAP APIs are geared for a Coach or other user who can access *any* student's record. You might avoid some UI headache with existing permissions by adding to MyGPS or creating a new portlet, but both those require re-implementing a MAP UI for the student. Also, enhancing MyGPS is problematic in itself, as it's a different technology stack and in some environments doesn't compile cleanly.


2) Create a new tool. This 'New Tool' will be accessible by both, the coach and the student.

While this objective may be easier than the first, you are still facing non-trivial development. As mentioned above, the existing SSP portlet UI assumes access to any student's record and as such, you'll have to add code to lock student access and remove visibility to major portions of the UI. An alternative to that is to follow the MyGPS portlet's example and create a new portlet that is accessible to both coaches and students.


Can you please let me know which is the best way of doing this?

Answered as best I can above, the ideal approach can only be decided by you based on your time, ability, resources and requirements.


-Paul Spaude




----- Original Message -----
From: "Mridula" gmail.com>
To: [hidden email]
Sent: Friday, January 16, 2015 5:04:59 AM
Subject: Re:[ssp-dev] Development Environment for SSP

Thank you very much for the explanation. I went over the code and understood the basic structure of the application.

I want to achieve two objectives:

1) Give the 'Students' access to the 'MAP' tool for creating their own MAP.
2) Create a new tool. This 'New Tool' will be accessible by both, the coach and the student.

Can you please let me know which is the best way of doing this?
---
You are currently subscribed to [hidden email] as: [hidden email]
To unsubscribe, change settings or access archives, see http://www.ja-sig.org/wiki/display/JSG/ssp-dev

---
You are currently subscribed to [hidden email] as: [hidden email]
To unsubscribe, change settings or access archives, see http://www.ja-sig.org/wiki/display/JSG/ssp-dev