General Feels and Gratitude
Hello Everybody!! Today I am really happy to present my first NotesIn9 video! It was really great being able to make this sub-series and be a part of the tutorials that really got me going with XPage development. I want to thank David Leedy for giving me the opportunity as well as thank my employer for allowing me to use what I learn on company time to create content for others. This is turning out to be a hobby that is really starting to take off. Again, I have to thank twitter, David Leedy, and Paul Withers for sharing my first blog posts and spreading the word that this blog is out and about. I would not be so into this right now if it were not for the fresh feeling of being able to do good for others and not just use this website as my own knowledge repository. Thank you to those who read these posts, watch the videos, and of course who retweet, comment and like what I am doing. All that really makes it easier to stay motivated.
Down to Business
What is this mini/sub -series all about?
The Admin Panel is (currently) a custom control where I store tables that show the variable names and values of all objects located in the applicationScope, the sessionScope, and the viewScope. I do not waste my time with the requestScope, although I suspect that such a thing would be possible if I found a use case for it. Additionally to this, I show another HTML table that presents cookie information. This is a part of another module that I call “the cookie helper”. Finally, a larger and more complex table presents logging information to the user with a particular role. The custom control contains functions that erase the variables located in the scoped maps (although I have not made that work without causing errors) add string variables to the scopes (not very helpful, but cool), and delete logging information shown in the debug section of the admin panel. A great feature of the debug table is that there are six different error levels that all use different row styles. This allows the trace information to be shown in a more understated way, and fatal errors to pop out like a sore thumb. Later, I turned this same functionality around to store and show entire session logging documents in a logging database.
Today we are going to look at how to build your own Admin Panel using information built, retained, and retrieved in Java.
How is this sub-series built?
Due to time, I broke this down into three different parts. Since I am actually coding on camera as much as possible, it is taking a while to get through it. I am doing this so that you can see where I have difficulty, so that you can hear me commenting as I go, and because my entire concept in this Java Tutorial is to program an application from start to finish together. When it is just taking too long and when I do not have a lot to say, I do edit out some parts.
Part one (this part) is going to be a basic introduction. We do, for this one time only, go through a PowerPoint presentation where I go into what we are doing, the three parts, and some basic information about myself. One thing that changed from the making of the PowerPoint slides to the videos is that the concept had to be changed from asking question before the recording of the next part to all the questions being asked in comments and through email and me answering them in a written format or in a fourth video. It makes sense for numerous reasons, but we do not need to get into that.
Part two is primarily Java construction. Although some Java classes were started in the first part, in part two we really get going. I do not want to spoil it too much here, but we basically finish up all the beans that we are going to need for the custom control.
Part three is being my slight PITA. I recorded it once already, but am not pleased with how it turned out. I really need to stop doing my recordings after 1 AM. I am going to be deleting the changes and redoing the video. Part three includes registering the beans that we already made with the faces-config.xml file and designing our custom control. We go into how to add a few custom properties, although we admittedly do not go into every detail that you could possibly go over. There are numerous NotesIn9s if you need help specifically with Custom Controls.
Why is this a sub-series?
This is a sub-series because it is a small part in the project that we are building together. I was trying to find some way to make videos for this page’s main tutorial while also making content for NotesIn9. I decided that it would be awesome to make some of the content that can really stand alone its own sub series and give them to David Leedy. For those who follow along here, it should seem pretty seamless. To those who watch the NotesIn9s, it is my hope that you can watch that content and get what you need without too much knowledge of what we are doing in the rest of the tutorials. At any rate, I am posting the code on this website. That being said, without any further ado- I give you the video, and following the video, the code! Enjoy!