I have only worked on projects that I started from scratch, but now I got to work on a pre-existing project(Web applicaation) with no documentation and no guidance. All the folks that worked on the project are gone, and my client wants me to start working on the project.
I need the best Steps to do this, and start running it in my IDE.
Is there any efficient and non-time consuming method to start out? Any tools that might help?
All I got so far-->
1)Project.EAR file --> (module) one War file. (backup exported from server)
2)Versions used--> Java1.4, Websphere app server v5.1, Sapjco Connectors.
3)jars in lib folder(Frameworks) list.
acegi-security-1.0.2.jar
activation.jar
antlr.jar
antlr-2.7.6.jar
asm.jar
aspectjweaver-1.5.2.jar
cglib-2.1.3.jar
chartengineapi.jar
clickstream-1.0.2.jar
com.ibm.icu_4.0.1.v20090415.jar
commons-beanutils.jar
commons-cli-1.0.jar
commons-codec-1.3.jar
commons-collections.jar
commons-dbcp.jar
commons-digester.jar
commons-fileupload.jar
commons-io.jar
commons-lang.jar
commons-logging.jar
commons-logging-1.1.jar
commons-pool.jar
commons-validator.jar
coreapi.jar
crosstabcoreapi.jar
dataadapterapi.jar
dataaggregationapi.jar
dataextraction.jar
displaytag-1.1.jar
dom4j-1.6.1.jar
dteapi.jar
dwr.jar
ehcache-1.2.3.jar
emitterconfig.jar
engineapi.jar
flute.jar
itext-1.3.3.jar
jakarta-oro.jar
jaxen-full.jar
js.jar
jstl.jar
jta.jar
log4j-1.2.11.jar
mail.jar
modelapi.jar
modelodaapi.jar
odadesignapi.jar
org.apache.commons.codec_1.3.0.v20080530-1600.jar
org.eclipse.emf.common_2.5.0.v200906080927.jar
org.eclipse.emf.ecore_2.5.0.v200906080927.jar
org.eclipse.emf.ecore.xmi_2.5.0.v200906080927.jar
org.w3c.css.sac_1.3.0.v200805290154.jar
oscache-2.3.2.jar
sapjco.jar
saxpath.jar
scriptapi.jar
servletapi-2.3.jar
sitemesh-2.2.1.jar
spring.jar
spring-batch-infrastructure-1.1.2.jar
spring-mock.jar
standard.jar
struts.jar
struts-el.jar
struts-menu-2.4.2.jar
taglibs-datetime.jar
taglibs-mailer.jar
taglibs-string.jar
urlrewrite-3.0-beta.jar
utility.jar
velocity-1.4.jar
velocity-tools-view-1.1.jar
I know starting out is always time consuming. But i need better way to start this project
NEED:--
1) What frameworks used in this project.
2) Whats the best way to start. (Clear steps please)
3) Which (open source)Server I can use as alternative to Websphere v5.
Regards.
Edited
Jars added (sorry i forgot to mention some jars in lib)
"Write once, run anywhere" unfortunately doesn't mean you can compile the source code or start the result without errors.
The first step is probably to identify which IDE was used to develop the project with. Look for some specific files:
.project and .classpath -> Eclipse
*.ipr -> IDEA
pom.xml -> Maven
Import the project using the original IDE (make sure you use the same version if you can) so you can start and compile the project without errors.
If there are no such files, curse the people who did it. If they still work at your place, get in touch with their manager and give them input for the next performance interview ("leaves project zombies behind").
If you run into big trouble doing this step: Ask colleagues for help. Web projects are all similar but there are many subtle problems to get them working, so it's much more effective to pair with someone than, say, asking here.
You can also try to locate the original team members; they probably haven't all left the planet. Google is your friend here and maybe someone at your company stayed in contact.
Now your questions:
What frameworks used in this project.
Lots. Apparently, they just took whatever they needed. That said, this list looks pretty common for most web projects that go beyond "hello world."
Whats the best way to start.
See above.
Which (open source)Server I can use as alternative to Websphere v5.
WebSphere has a lot of .... "features" which can't be found anywhere else.
I suggest to try to get the app working with WebSphere first and then try Tomcat or Jetty.
In order not to get insane with WebSphere's startup times, get a powerful machine with lots of RAM, install it locally and use scripting to configure/control WebSphere (at the bottom of the page are scripts for WebSphere 5).
Related
This is a very specific and niche question- but something that'll probably help people working on existing codebases.
Current Scenario
We are running ejabberd 18.01 on prod- and we can't really change this right away. Our current setup for running custom modules is this- either modify existing modules from the source code, or make our own custom modules that are compiled using the erlang compiler that's bundled in with the installer from here. We use erlide as our IDE in Eclipse.
We compile the custom files in in erlide, into a separate directory from where our ejabberd .beam files are; and then transfer the files manually from there to the ebin folder in ejabberd. This is done so that we have VCS for our modified module files.
We aren't using rebar3, and I have zero clue as to how to implement in a heavily modified existing codebase without breaking something. Our only legitimate way of debugging is to put loggers at every step of the process, compile, transfer files, and restart the server- which drastically increases dev time.
It is a genuine nightmare to work with, and resources on ejabberd as well as erlang is scarce- we mostly have the docs to go by, and barely any SO questions relevant.
Any suggestions, resources that can help me setup something to help especially for debugging, would be highly appreciated. Maybe something in vscode would be great. Transferring files I've still managed with inotify, but debugging makes me want to tear my hair out. Please help. Thank you.
P.S.- This is all on Ubuntu 20.04, if relevant. Erlang/OTP version - 20.02, erts- 9.2. Please ask for any further clarifications if required.
Does anyone know the command or the way to run pdfclown on java servlet? There's pdfclown.samples.web folder included in the library but the readme says nothing about how to run the server.
You have to setup a local Tomcat server and plug it to pdfclown.samples.web within eclipse (please, see among the countless trillions of tutorials available on the Web ;-) ).
BTW, you are right that the README doesn't mention the webserver setup: I'll remedy in the next release.
background
I have designed many tools in the past year or so that is designed to help me program for XPages. These tools include primarily helper java classes, extended logging (making use of OpenLogger and my own stuff), and a few other things that I personally feel I cannot work without. It has been discussed with my employer, and we feel that it might be a good idea to start publishing these items to openNTF. Since these tools are made up of about 3 .nsfs, all designed to use the same java code, key javascript classes, css, and even a custom control or two, I would like to consolidate key items into a plug-in that can be installed at the server and client level. I want to do this consolidation before I even think about publishing any of the work I've done so far. It would just be far too much work to maintain, not just for me, but for potential users. I have not really found any information on how to do such a thing in google searches. I also have to make sure that I am able to make use of the ExtLib libraries, openNTF Domino API, and the Notes API.
my questions
How does one best go about designing such plug-ins? Must a designer
use eclipse, or is this it possible to do this directly in the Notes
Designer?
How does a designer best go about keeping a server and client up to date while designing and updating the plug-in code? Is this why GitHub is often used?
Where is the best place to get material to get started in this direction? I sort of feel lost in the woods, knowing I need to head north, but not having a compass for that first step.
Thank you very much for your input.
In my experience, I found that diving into plug-in development is a huge PITA until you get used to it, but it's definitely worth it overall.
As for whether you can use Designer for plugin development: yes, but you will likely eventually want to not do so. I started out by using Designer for this sort of thing for a while, presumably with the same sentiment as you: why bother installing another instance of Eclipse when I'm already sitting in one all day? However, between Designer's age (it's roughly equivalent to, I think, Eclipse 3.4), oddities when it comes to working sets between the "Applications" and "Project Explorer" views, and, in my case, my desire to use a Mac app, I ended up switching.
There are two major starting points: the XSP Starter Kit (http://www.openntf.org/internal/home.nsf/project.xsp?name=XSP%20Starter%20Kit) and Niklas Heidloff's video on setting up Eclipse for XPages development (http://www.openntf.org/main.nsf/blog.xsp?permaLink=NHEF-8RVB5H). The latter mentions the XPages SDK (http://www.openntf.org/internal/home.nsf/project.xsp?name=XPages%20SDK%20for%20Eclipse%20RCP), which is also useful. In my setup, I found the video largely useful, but some aspects either difficult to find (IBM's downloads are shifting sands) or optional (debugging, which will depend on whether or not you're using Eclipse on Windows).
Those resources should generally get you set up. The main thing to worry about when setting up your Eclipse environment will be making sure your Plug-In Execution Environment is properly done. If you're following the SDK setup instructions, that SHOULD get you where you need to be.
The next thing to know about is the way plugins are structured. Each plugin you want to install in Designer or Domino will also be paired with a feature project (a feature can house several plugins), and potentially an update site - the last one is optional if you just want to import the features into an Update Site NSF. That's how I often do my normal plugin development: export the paired feature to a directory and then import the feature into the server's Update Site NSF and then install in Designer from there using Application -> Install. You can also set things up so that you deploy into the server's plugin/feature directories instead of taking the step of installing into an update site if you'd prefer. GitHub doesn't really come into play for this aspect - it's more about sharing/collaborating with your code and also having a remote storage location for your git repositories (which I highly advise).
And as for the "lost in the woods" feeling: yep, you'll have that for a good while. There are lots of moving parts and esoteric concepts to get a hold of all at once. If you mostly follow the above links and then start with some basics from the XSP Starter Kit (which is itself a plugin project that you can pair with a feature) - say, printing text in the Activator class and making an implicit global variable just to make sure it works - that should help get your feet wet.
It's best done in Eclipse. You can debug your code running on the server from there, as well as run it directly from there. The editors are also more up-to-date. You want:
Eclipse for RCP and RAP developers
XPages SDK for Eclipse RCP (from OpenNTF)
XPages Debug Plugin (from OpenNTF - basically allows you to load the plugins to the Domino server dynamically, rather than exporting to an Update Site all the time)
XSP Starter Kit on OpenNTF is a good starting point for a plugin. There are various references to the library id, which has to be unique for your plugin. Basically, references to org.openntf.xsp.starter need changing to whatever you want to call your plugin. You're also best advised to remove what you don't need. I tend to work in a copy of the Starter, remove stuff, build and if there are errors with required classes (Activator.java obviously will be required and some others), then paste them back in from the Starter.
XPages OpenLog Logger is a good cross-reference, that was built from XPages Starter Kit. It's pretty much stripped down and you'll be able to see what had to be changed. A lot of the elements of the XSP Starter Kit correspond to Java classes you'll probably be familiar with from your XPages Java development.
GitHub etc tend to be used as source control, which is useful for working out what's changed from time to time.
I am having a hard time trying to build my javafx app into .app (for mac).
I found a legit way to do that, here is resource for that:
http://docs.oracle.com/javafx/2/deployment/deploy_quick_start.htm
However, it is far from what I'm looking for. By following that tutorial, I managed to build an app from my javafx project, however the size of file was just ridiculous and it is because the whole JRE is being bundled inside. I am now looking for a way to deploy .app file with dependencies (it's important) ONLY and without JRE. (JRE should be pre-installed by user). Is there a way to do that? I really tried to find one, but faild. Hope you, guys, help me.
Instructions for packaging a JavaFX application as a native installable app without including a JRE:
JavaFX packaging tools update - Self-Contained Applications: Create Package without Java Runtime.
The tools used are the same as from the deployment quick start you mention in your question. You just set the fx:platform basedir="".
I'll just quote the article here:
This may sound a bit puzzling at first glance. Package without embedded Java Runtime is not really self-contained and obviously will not help with:
Deployment on fresh systems. JRE need to be installed separately (and this step will require admin permissions).
Possible compatibility issues due to updates of system runtime.
However, these packages are much much smaller in size. If download size matters and you are confident that user have recommended system JRE installed then this may be good option to consider if you want to improve user experience for install and launch.
Technically, this is implemented as an extension of previous feature. Pass empty string as value for 'basedir' attribute and this will be treated as request to not bundle Java runtime, e.g.
<fx:platform basedir=""/>
This question is more of type "has anyone experienced something similar before and if so, what was the issue?".
At work I use an iMac to do my daily programming. After some initial (and still occasional) struggles, I got my project running on Virgo server. Stand-alone or from Eclipse, both work.
I checked out the same code at home on my Windows PC, installed same version of Eclipse and Virgo. I took the same installation & configuration steps like on the Mac at work. I can get the project up & running stand-alone. However, when I try to get the project deployed from withing Eclipse, no matter what I try, some bundles would not deploy.
As one of desperate last options I even moved Virgo to a c:\v, just in case the path was to long. Still no success.
Did anyone experience something like this before? What was the reason? Any hidden configuration I might be missing?
Thanks,
Jan
you can have a look at the Virgo\work\org.eclipse.virgo.kernel.deployer_<someVersion>\staging\global\bundle\ directory. Virgo tooling should normally deploy to this directory and invoke the deployer. maybe there are some issues. i suppose, you already checked the debug-output-logs? maybe it issnt a problem of deployment but something else.