Building website for domino server - xpages

I need to make a small website to be hosted at a domino server but as far as I understand, I couldn't use a simple .html file or .php, instead it works with some weird stuff like .nsf, right? Also, it isn't clear to me wich language is used to deploy webpages with domino server, and if there is a good book about it.

Starting with Lotus Domino 8.5.x you can create web applications using XPages. XPages "is based on web development languages and standards including JavaScript, Ajax, Java, the Dojo Toolkit, Server-side JavaScript and JavaServer Faces" (source: http://en.wikipedia.org/wiki/XPages).
If you are interested in learning more about XPages, the following book is very useful:
Mastering XPages: A Step-by-Step Guide to XPages Application Development and the XSP Language
There is also the "classic" way of creating web applications with Lotus Domino if using XPages is not an option. The following book provides a good overview of that method:
IBM Lotus Domino: Classic Web Application Development Techniques

You can use simple static html files but the beauty of Domino is that you can develop dynamically created web sites using the back end database processes.
If you want to do something with just html then drop your html files into the /domino/html folder and they will be served out.
If you want to do something more powerful start at http://www.xpages.info which is run by the Open Source community for Domino.
There are quite a few out of the box projects available such as Wikis, "Team Rooms", discussion forums, blogs and document libraries. Some of these are also packaged with the domino install. Some of these are content management systems with some of the same functionality as wordpress or Joomla and might work well for you.
Some examples : http://xpages.info/XPagesHome.nsf/Demos.xsp
As with any platform there are quirks and gotchas but it is a brilliant platform. Contact me if you need a better steer.

You could use the domino/html approach or you could utilize the new web development interface and environment in Domino, since 8.5, called XPages. It's a technology derived from JSP (Java Server Pages) using standard web methods and technologies such as Java, JavaScript, AJAX, DOJO, CSS working with predefined Custom Controls giving you the drag and drop approach to development.
Several book are on the market, one of them close to release:
XPages Portable Command Guide: A Compact Resource to XPages Application Development and the XSP Language
Mastering XPages: A Step-by-Step Guide to XPages Application Development and the XSP Language
XPages Extension Library: A Step-by-Step Guide to the Next Generation of XPages Components

For instructional videos, there's XPages.tv (Videos)

While a Domino server typically is used to host Notes application (.nsf files), you can use it to host raw HTML files. The default root for this is the domino\html directory.
The documentation on web server configuration has more details on this.
Configuring HTML, CGI, icon, and Java files for Web Site documents

The following tech note details how to run PHP on a Domino server, although Domino itself does not have PHP.
http://www-01.ibm.com/support/docview.wss?uid=swg21099845
There is also this article on how to create PHP for Domino.
http://www.ibm.com/developerworks/lotus/library/domino-php/

Host a static html file in a different place to domino directory
If you want to persist your static html files in a different place to domino\html then you can do this in the following way:
Configure a new WebSite for your domino server:
https://www.ibm.com/support/knowledgecenter/SSKTMJ_10.0.1/admin/conf_configuringhtmlcgiiconandjavafilesforwebsite_t.html
Copy your files to the specified folder on your server's disk.
Example:
Website:
File on domino server:
Open in browser:
With this approach I have deployed a complete angular single page application on a domino server.

Related

Web based Oracle Scene Builder analog

I want to provide an ability to create simple java and javafx applications to the users on my website. I've found excellent code editor (Ace) but I don't know how to provide FXML design tool to the Web users.
Is there any options?
ADD I want the users to use this interface builder without any additional requirements like Java 8 or something
How to host SceneBuilder in a web page (requires Java 8):
Build SceneBuilder from it's source.
Package it as a Browser Embedded Application.
Host your packaged application on the Internet and direct web users to its URL.
Other than using a fork of SceneBuilder for your project, I don't know of any other feasible way to provide visual FXML editing capabilities. I would certainly not recommend trying to create from scratch your own FXML visual editor written in either Java or JavaScript.

what are the major Difference between ordinary notes applications and a Xpage applications

I am new to Xpages application,
can any body tell me what are the major Difference between ordinary notes applications and a Xpage applications, so that i can understand and start from the bassics if any body helps.
Thanks in advance.
JB
That's a very high level question.
You can create web applications using XPages. XPages "is based on web development languages and standards including JavaScript, Ajax, Java, the Dojo Toolkit, Server-side JavaScript and JavaServer Faces" (source: http://en.wikipedia.org/wiki/XPages).
In order for you to start with XPages I will suggest that you read the following book:
Mastering XPages: A Step-by-Step Guide to XPages Application Development and the XSP Language
I will also suggest that you look at the available resources and videos on XPages.info.
Have a look at my blog post on available resources for XPages too:
http://per.lausten.dk/blog/2012/02/learning-xpages-available-resources.html
There's also a whitepaper on maximising the benefits of Domio 8.5.3 with XPages http://www.intec.co.uk/update-whitepaper-maximising-the-benefits-of-xpages-in-8-5-3/
Basically, it allows you to develop for browser and Notes Client with a consistent interface. In my experience, after the learning curve, developing for web in XPages is significantly quicker than developing for web in traditional Domino. The Extension Library reduces the time further, as do resources from OpenNTF. Plus with the Extension Library you can develop for mobile browsers using XPages as well.
There is a browser plugin coming in 8.5.4 which will allow traditional Notes Client applications to be used from a browser. However, I doubt you'll get as nice a user experience from that as you could get from XPages.
I would say Partial Refesh, Works on almost any device and Speed.
go to http://www.tlcc.com/admin/tlccsite.nsf/pages/free-xpages-training and we (TLCC) have a free course that introduces you to XPages and explains what they are as well as gets you started on your first XPage.
Howard

Do you have to deploy plugins to the Notes Client?

I would like to know whether plugins (such as the OpenNTF Extension Library) need to be manually installed on any Notes Client that will be using an XPages in the Notes Client Application (XPiNC) that is dependent upon those plugins.
According to the Mastering XPages book, page 500 in the XPages in the Notes Client Chapter:
XULRunner will cache the usual resources used on the XPage but the Java classes still need to be loaded across the network for each new notes session
I understood this to mean that if there are plugins, such as the OpenNTF extension library, that they would be sent across to the Notes Client so that these dependencies would be resolved, allowing the user to use the application in the notes client, without worrying about having updating or not.
I have configured the UpdateSite.nsf on the server (8.5.3) for the dynamic loading of plugins when the HTTP server starts, this is working fine for the XPages being accessed through a web browser. However only clients that have had the 8.5.3 Upgrade pack applied (which includes the OpenNTF Ext Library), are able to access the application using the client.
It seems to me that it will be very cumbersome. The benefit of XPages would be gradual migration from the Client to Web, but to have to worry about plugin dependencies on everyones machine would be a backwards step?
Yes! You have to install extension lib plugins on clients for xpinc. You can use the update pack given by IBM or create a widget, put it in your widget catalog and then deploy it using policies or ask users to do it manually.
Stephen H Wissel has listed the steps to do this on his
blog. http://www.wissel.net/blog/d6plinks/SHWL-8GZM9A
You have to deploy the plugins to the client,
if you want to use the plugins in XPINC apps, as far as I know.

Lotus Notes Application, Web Based Converting

Does anyone have tips or an ebook that can give me a good foundation on how to create applications in lotus notes using web browsers instead of clients. Links or tips are much appreciated.
Thanks!
Books are a good starter. But you'll find there is alot more to it than you see in books. So, here is a quick list of places to look.
Books
You've got these options for books (all downloadable as eBooks to)
Classic Web development prior to Notes 8.5 -- Reviews here and here
Latest Web stuff with Xpages if you have Notes 8.5+ (kindle/paper)
There are IBM wiki's (html). But have found the IBM wiki experience underwhelming. (The adjectives "half-ar$ed" and "piece-meal" comes to mind alot when reading these.)
IBM's redbook site (pdf/html) has better produced content than the wiki's.
Sites
One of the best web development tip/technique sites for the trickier problems is codestore.net and nsftools.com
OpenNtf a well used site for free code and solutions written by alot of smart people.
Quite a few good bloggers have "coagulated" on planetLotus
Try Searching for XPages in Google. Or start here
If you enable http on the server, you should be able to see your domino applications from the web. You then need to modify them to make them a bit more web friendly. The basic technique for this is to have 2 design elements with the same alias, hide one from notes and the other from the web. This will make it a bit easier to make it functional from both the client and the web browser.
Other functionality which makes this a bit easier would be 'Pass through HTML', the Domino CGI Variables and the 'WebQueryOpen' and 'WebQuerySave' events. As Jasper points out, XPages is the new sparkling way to do this, but it might not be an option for existing systems (It requires the latest version of Domino server). Good Luck!
What version of Domino are you running? If it's an 8.5 variant, I would suggest you use XPages to bring your old client apps to the web (XPages are not an option in releases prior to 8.5).
As to how you go about this, that's well beyond the scope of an answer on Stack Overflow: it's a book in and of itself! To learn about web development with XPages, I suggest visiting some of the well-known sites out there, and perhaps picking up a course or two. Here are some links:
http://xpages101.net
http://www.qtzar.com/blogs/qtzar.nsf/htdocs/LearningXPages.htm
http://notesin9.com/
(Also, IBM publish a book on XPages development, although I've not read it).
With regards "classic" Domino development, your best bet is to view your existing Notes app in a web browser and then start hacking on the default HTML generated (which is nasty). The best single resource out there for classic Domino web development tips and hacks is Jake Howlett's Codestore
Start small, build yourself a small database with a subset of data and explore what you can do. I've been a notes client developer for 10+ years and doing domino web work for last three or four years and still on steep learning curve. Its a very powerful platform but you also need to know html as on many occasions the html that you see in the browser helped me pin down the faults in my application code.

Examples of Struts2 applications

I am working on a static analysis for detecting security vulnerabilities in web applications, and I am looking for some web applications to run my analysis on.
More specifically I am right now looking for open-source web applications that use the Struts2 framework, but I have a hard time finding such applications.
Does anyone know of some more or less complete and open-source web applications written using Struts2 (or possibly just plain JSP)?
The very complete and stable Struts2 application i use for log file analysis is KonaKart. The advantage is that you can set it up on your server, including demo data and configure it and use it as you wish.
In terms of openness:
"Only the customizable parts of KonaKart are open source. These include the Struts action classes and
forms, the JSPs, the payment modules, order total modules, shipping modules and the GWT One Page
Checkout code. They are shipped under the GNU Lesser General Public License."
If you need 100% open source it is not for you.
Projects Using WebWork or Struts2
https://cwiki.apache.org/S2WIKI/projects-using-webwork-or-struts2.html
Others
http://api.cnn.com/
http://www.allhomes.com.au/
Check these tutorials. there downloads are available. link1, link2

Resources