agilewiki-wiki Mailing List for AgileWiki (Page 22)
Status: Beta
Brought to you by:
blaforge
You can subscribe to this list here.
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(11) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
(10) |
Feb
(1) |
Mar
(29) |
Apr
(13) |
May
(119) |
Jun
(104) |
Jul
(142) |
Aug
(92) |
Sep
(86) |
Oct
(31) |
Nov
(16) |
Dec
(6) |
2007 |
Jan
(3) |
Feb
(10) |
Mar
(2) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2011 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2012 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
From: Bill la F. <laf...@ya...> - 2006-05-10 08:59:50
|
I just got word from Nuitari, who has been digging into Jakarta TomCat, something for me to look at. My hope is that the AgileWiki3 AwServlet will soon be accessible on-line. :-) (The project home page at agilewiki.dev.java.net has been getting a little crowded of late.) . . . . . James, are you OK? Its been a while! Bill __________________________________________________________ Yahoo! India Answers: Share what you know. Learn something new. http://in.answers.yahoo.com |
From: Bill la F. <laf...@ya...> - 2006-05-10 06:25:38
|
Oh yes, I forgot about the calendaring system. AgileWiki2 already contains a prototype. Having the read-access classifier entry, Private, will add a lot to this. Bill --------------------------------- Yahoo! India Answers: Share what you know. Learn something new. Click here Send instant messages to your online friends - NOW |
From: Bill la F. <laf...@ya...> - 2006-05-10 05:32:15
|
When a client program communicates with the AwServer, it must always include a sessionId. SessionIds are mapped by the Portal object to session objects. If there is no session object, a new one is created. The session object is responsible for tracking the active Form object(s), the selected User Interface model object, the validated user name, the current context (selected rolon and time) and a table of selectors mapping selection strings to rolon Ids (rids). And anything else that is needed that is not handled by the active form object. As the session object is a catchall for a range of things, the API is a bit on the messy side. But a lot of its methods are convenience methods which simply call methods on other objects or accessor methods for the data it maintains. __________________________________________________________ Yahoo! India Answers: Share what you know. Learn something new. http://in.answers.yahoo.com |
From: Bill la F. <laf...@ya...> - 2006-05-10 04:52:24
|
Initially I'd like to propose a focus on 4 applications (Selectable User Interface models, mostly): 1. Web content management. Web surfers are presented with only the html content of the rolons they visit. Support for wiki names would be included as a means of quickly creating links between these pages. Changing a rolon's WikiName would bring up a list of all rolons with content referencing that rolon's name, with the option of changing the name in the content of the selected rolons, the default being that all are selected. 2. An ordinary wiki interface. Wiki users are presented with the rolon content in a framework which offers options like delete, change content, list (related) topics, create a new topic and browse the tree of topics. 3. A generic (rolonic) interface to replace the default User Interface model now in use. Basicly the emphasis would be on an improved layout. 4. An email client for users. This would be operational in the user's home cabinet. Additionally, I'd like to see some games which build on forms to demonstrate how to implement simple applications. These would be targeted at the developer community. Yes, this is a big project. We really need all the help we can get! Any thoughts? Bill __________________________________________________________ Yahoo! India Answers: Share what you know. Learn something new. http://in.answers.yahoo.com |
From: Bill la F. <laf...@ya...> - 2006-05-10 04:19:20
|
OK, so application API is implemented in a rolon class (a data proxy). And simple operations are implemented in a command class. What about interaction? Interaction is handled by forms, which must implement the abstract class, org.agilewiki.framework.Form. Forms are invoked by a command, so there is no special mechanism required for extensibility. Some important methods on a form are: 1. initForm --called when a user first starts interacting with a form. 2. displayForm --called to generate an event tree for the first and successive responses to the user. 3. evaluateForm --called when the user responds with form input. Forms are normal objects--they hold data! An active form is part of the user's session. They are NOT thread safe. Forms are treated like commands, they either database updaters or not. Updaters are invoked within a transactional context. Multiple non-updaters can execute at the same time on different threads. And right now, for an application, that's pretty much it. Yes, we can--as needed--define new kinds of application logic. I'd like to do wizards at some point when the complexity merits it. But for now, all the business logic is either in a rolon class, a command class or a form class. Bill __________________________________________________________ Yahoo! India Answers: Share what you know. Learn something new. http://in.answers.yahoo.com |
From: Bill la F. <laf...@ya...> - 2006-05-10 04:07:28
|
OK, so we have a data proxy class which holds no data (data is either in the database or cached). But this data proxy class (really a rolon class) holds the API both for accessing/updating data and the low-level business logic, in the case of an application-specific rolon. Next step up are commands. There is a table in package org.agilewiki, commands.txt, which maps command names to the classes which implement them. Command objects are singltons and thread safe--they hold no data. Execution is also atomic for commands which perform database updates directly--they are invoked in a transactional context and only one update command can execute at a time. Commands which only query or which invoke other things to perform updates are multi-threaded, but do not run when an update command is executing. By default, a command is attached to the base rolon class, org.agilewiki.ark.Rolon, but you can add a method to override this--which means the command is only active when a rolon of the appropriate type is the current context. A command has a method which returns a help string. Most important, command classes have a method which further restricts when the command is active. For example, an update command is never allowed when the user does not have permission to modify the rolon which is the current context. Creating a new command takes 2 steps: 1. Write a command class with implements org.agilewiki.framework.CmdInterface. 2. Add the command name and class to the commands.txt file. __________________________________________________________ Yahoo! India Answers: Share what you know. Learn something new. http://in.answers.yahoo.com |
From: Bill la F. <laf...@ya...> - 2006-05-10 03:48:48
|
Everyone, Here's a quick note on data proxies (below). Please let me know if this helps or not! Any feedback you have would be appreciated. Bill AgileWiki3 uses proxies for accessing data, the proxy object holding only the rid (rolon identifier), a 128 bit random number. But these are data proxies. The database holds only the data. These proxy objects implement the methods. Is this a break from object oriented programming? No more than object serialization where the pickled object identifies the class type. The difference here is that the data is not put in the proxy object. Rather it is cached. This gives us a big speed improvement. It also makes it easier to manage inverted data (indexes). By convention (not a requirement), the data proxy classes are in package org.agilewiki.ark.rolons. The base class is Rolon, and its a bit big. There is a descriptor entry, Type, which identifies the class of data proxy to be used. And in package org.agilewiki you will find a resource file, rolons.txt, which maps type names to data proxy class. Currently this table has 12 entries. Now every rolon has a descriptor unit rolon (a du) which also defines a kind of type, but this is a finer grained mapping--you can have multiple descriptor units which work with the same type of rolon. Every descriptor unit has a ledger entry, Type, which identifies the type of rolon that the descriptor unit works with. This is used when creating new rolons--you identify the descriptor unit to be used and use the DU's Type LEnt to determine the Type DEnt of the rolon being created. There are then only 3 steps to extending the object model: 1. Write a new data proxy class which extends org.agilewiki.ark.rolons.Rolon. This class must include, among other things, a static narrowing method. 2. Add a line to the rolons.txt file which gives the name of the new type of rolon and its class. 3. Create a DescriptorUnit rolon with a Type LEnt that names the new rolon type. __________________________________________________________ Yahoo! India Answers: Share what you know. Learn something new. http://in.answers.yahoo.com |
From: Bill la F. <laf...@ya...> - 2006-05-10 01:27:19
|
Unlike write access, admins don't implicitly get read access to everything. If you don't have read access, then you don't get write access either. Like write access, read access of a child is inherited from the parent when it is created. This applys to transactions too. Gosh, there are some nice consequences ot this. Not only can a user have private data, but data can be private to a group. Now we can set up private cabinets. Anyway its all done and checked in. Bill --------------------------------- Yahoo! India Answers: Share what you know. Learn something new. Click here Send instant messages to your online friends - NOW |
From: Bill la F. <laf...@ya...> - 2006-05-09 14:56:25
|
The private command allows you to restrict read access to a topic. Implemented and working. --------------------------------- Yahoo! India Answers: Share what you know. Learn something new. Click here Send instant messages to your online friends - NOW |
From: Bill la F. <laf...@ya...> - 2006-05-09 12:13:06
|
The AgileWiki is completely transparent. Yes, you can build up comlex structures of Rolons, but this is done in a way that makes sense to the user. All rolons (topics) are first-class user objects. Nothing is hidden. And, while some things require some degree of complexity, nothing is complicated. So while the object model allows for tremendous flexibility, the implementation remains sensible and transparent. You can see/update/organize every aspect. It is implicitly organizable. Or should I say agile? :-) Bill --------------------------------- Yahoo! India Answers: Share what you know. Learn something new. Click here Send instant messages to your online friends - NOW |
From: Bill la F. <laf...@ya...> - 2006-05-09 11:30:52
|
AgileWiki3 employs, to put it nicely, an innovative aproach to persistance. Its objects exist on disk, not in memory. These are not Java objects! The flip side of that is that there are classes for creating object proxies. And as with other proxy systems, there is a concept of narrowing to instantiate the appropriate subclass for a given type of object. Also, as with other proxy systems, the proxy object does not hold data. Rather, it has only the id of the object for which it is the proxy. But this does not mean that this is a slow system. It is much faster than most databases, while being slower than proper Java objects. Speed is achieved through caches. There is a lot of code dealing with different types of cache, and there are a lot of caches. In AgileWiki3, we can apply caches very effectively because we have a universal model (Rolonics) for applications which allows us to characterize different kinds of data and provide for a systematic implementation. The theory, as it applies to programming, is almost too simple to understand. The thing to keep in mind about a theory is that, while it may be predictive (which is what makes for a great theory), it is more a recognition of what already exists. A great example is java.util collections. One thing you notice about the util collections is the lack of participation by the object in a collection. The good part about this is that it is easy then to have an object in more than one collection. The bad part is that, for a given object in a given collection, you can't get to the next or previous object (if it is a list) directly for a given object. (I'm not talking about iterators.) Worse case is when dealing with a linked list--get the index of an object in a list, add 1 and then retrieve the object so indexed. This is a very slow operation, though you would think that it would be quite fast. So is there a point to this? Yes. These collections are generally great. And Rolonicly speaking, they are done correctly. Relationships between objects are classifiers, which are distinct from state data (ledger) and meta data controling an object's behavior (descriptors). Broadly speaking, good programming practice always conforms to Rolonic theory. But that's relatively uninteresting. Here's the hot point: programming with Rolonics will often lead you well beyond known programming practices and patterns. And its simple. But just a little too simple to be easily understood perhaps. OK, back to the object model. In AgileWiki3, we organize the data into four main groupings: classifiers, descriptors, ledger and journal. That's it. Doesn't sound like much, no? But here's the punchline: having grouped all the data this way, you begin to see much more consistency within each group. Remember, theory is all about seeing things you never knew were there before. This increased consistency within each of the 4 groups of data then allow for an entirely systematic implementation of application data structures. And an overall system with much higher performance, flexibility and ease of implementation. Also, remember that we have introduced time as a major element in every query. And still it is fast. There are only a few data elements. A rolon (topic) can have a document (ledger). There are ledger, descriptor and classifier name/value pairs. Some classifier name/value pairs are inverted. And that's almost it. The only thing that's missing is lists. Name/value pairs are kept in lists. You can order the contents of a list, get the (unique) names in a list and get the value assigned to a name in a given list. So all those name/value pairs in a rolon are actually members of various lists. So there's nothing really complicated here. A rolon has a document and several lists, those lists having name/value pairs. And some classifier lists get inverted. Of course, we build complexes of structures from all this. For example, the ledger of a rolon (topic) is a list of rolons--the transactions. But you can then make changes to a transaction--being a rolon, it also has a ledger. :-) This is a very rich system, well capable of modeling any business application. Rolons can serve as classifiers, descriptors and ledgers as well. Enough for now? I'll close by repeating one of Norm's favorite sayings: "It is much simpler than you think it is." Bill ____________________________________________________ Yahoo! India Answers: Share what you know. Learn something new. http://in.answers.yahoo.com |
From: sougata b. <sou...@ya...> - 2006-05-09 09:20:28
|
Yes I will make servlte working. And I have been using SVN in my office also. Let me go through the code and undestand the flow. Cheers Sougata Bill la Forge <laf...@ya...> wrote: Sougata, I'm glad you got things working. As for changing the server name, you don't need to do that. Just get rid of the AgileWiki.properties file. A back button would be real nice, but perhaps difficult right now. The back button I mentoned eariler was only for the mini-html browser component that I'm using in Swing to display html. Lets start with a few small things to help you get oriented to the overall architecture--more complex projects will involve changes across multiple locations. The text boxes are big. Its the same text box used for virtually all text fields. Perhaps the application logic could give some hints as to the size? These hints could then be used by both the swing client and the servlet. Perhaps the next step should be getting the servlet running. Shouldn't be too hard if you're familiar with NetBeans, as it includes an embeded TomCat server. It will be nice to be testing changes with both clients. How's it going with subversion? That's going to get important quickly. For example, last night I just added a ch command for changing a topic's document. But it will not be available for download for almost a week. Docs? Docs? You want docs? Well, there's the javadocs. But that is a bit much, mm? I'll admidt that there's not a lot of code in AwSwingClient nor in AwServlet. You can probably figure them out yourself. But its the back end that's interesting, yes? But to be effective on the back end, it will be very helpful if you understand the front end. And the interface. Here's my proposal. Lets start with AwCommon. First, there is the org.agilewiki.client package. This contains the ProxyWrapper class, which is used to interface with the server. Put in some print statements there and you can see the XML strings being passed between client and server. They are quite readable and will help with both understanding the clients (and what's involved in various changes) and will help also in understanding what the application logic will need to generate to produce a display. A related package in org.agilewiki.events. This is also found in AwCommon. The Event class is a simplified DOM element (to use XML terminology). EventComposor is used to construct a tree of Events. And EventParser is used to convert an XML string into a tree of Events. A little familiarity with these classes will go a long way in helping to understand how clients and applications interact. These classes are also quite simple (though that may be a relative term). I'm more than happy to go through the various packages and classes and give you a good overview. It shouldn't take too long. All I ask is that you spend some time looking at the code, keep asking questions and make some contributions as we go along. That will speed things up for you as well. But I think your priority right now should be getting AwServlet and subversion running. Yes? Bill --- sougata bhattacharya wrote: > Hi Bill, > I could run the clinet and server both and i did > setup the work space too. I just changed the rmi > server name to my localhost and from dos command > prompt I could run. I feel we need a back button > soon for the application to navigate through the > apps, let me see if i can work on that. Also I feel > that the textbox for username and password at > registration page is unusally big, > Looking for more docs, how do you persist and all > related > Cheers > Sougata __________________________________________________________ Yahoo! India Answers: Share what you know. Learn something new. http://in.answers.yahoo.com ------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ Compstrm-wiki mailing list Com...@li... https://lists.sourceforge.net/lists/listinfo/compstrm-wiki Thanks Sougata Cell +919342501276 --------------------------------- Yahoo! India Answers: Share what you know. Learn something new. Click here Send instant messages to your online friends - NOW |
From: Bill la F. <laf...@ya...> - 2006-05-09 08:47:47
|
Sougata, I'm glad you got things working. As for changing the server name, you don't need to do that. Just get rid of the AgileWiki.properties file. A back button would be real nice, but perhaps difficult right now. The back button I mentoned eariler was only for the mini-html browser component that I'm using in Swing to display html. Lets start with a few small things to help you get oriented to the overall architecture--more complex projects will involve changes across multiple locations. The text boxes are big. Its the same text box used for virtually all text fields. Perhaps the application logic could give some hints as to the size? These hints could then be used by both the swing client and the servlet. Perhaps the next step should be getting the servlet running. Shouldn't be too hard if you're familiar with NetBeans, as it includes an embeded TomCat server. It will be nice to be testing changes with both clients. How's it going with subversion? That's going to get important quickly. For example, last night I just added a ch command for changing a topic's document. But it will not be available for download for almost a week. Docs? Docs? You want docs? Well, there's the javadocs. But that is a bit much, mm? I'll admidt that there's not a lot of code in AwSwingClient nor in AwServlet. You can probably figure them out yourself. But its the back end that's interesting, yes? But to be effective on the back end, it will be very helpful if you understand the front end. And the interface. Here's my proposal. Lets start with AwCommon. First, there is the org.agilewiki.client package. This contains the ProxyWrapper class, which is used to interface with the server. Put in some print statements there and you can see the XML strings being passed between client and server. They are quite readable and will help with both understanding the clients (and what's involved in various changes) and will help also in understanding what the application logic will need to generate to produce a display. A related package in org.agilewiki.events. This is also found in AwCommon. The Event class is a simplified DOM element (to use XML terminology). EventComposor is used to construct a tree of Events. And EventParser is used to convert an XML string into a tree of Events. A little familiarity with these classes will go a long way in helping to understand how clients and applications interact. These classes are also quite simple (though that may be a relative term). I'm more than happy to go through the various packages and classes and give you a good overview. It shouldn't take too long. All I ask is that you spend some time looking at the code, keep asking questions and make some contributions as we go along. That will speed things up for you as well. But I think your priority right now should be getting AwServlet and subversion running. Yes? Bill --- sougata bhattacharya <sou...@ya...> wrote: > Hi Bill, > I could run the clinet and server both and i did > setup the work space too. I just changed the rmi > server name to my localhost and from dos command > prompt I could run. I feel we need a back button > soon for the application to navigate through the > apps, let me see if i can work on that. Also I feel > that the textbox for username and password at > registration page is unusally big, > Looking for more docs, how do you persist and all > related > Cheers > Sougata __________________________________________________________ Yahoo! India Answers: Share what you know. Learn something new. http://in.answers.yahoo.com |
From: Bill la F. <laf...@ya...> - 2006-05-09 08:15:23
|
If you're having trouble running AwSwingClient at work becasue of firewalls, but you're accessing the internet via a web proxy, then here's a blog post that will help: http://laforge49.blogspot.com/2006/05/using-awswingclient-with-web-proxy.html Bill ____________________________________________________ Yahoo! India Answers: Share what you know. Learn something new. http://in.answers.yahoo.com |
From: sougata b. <sou...@ya...> - 2006-05-09 07:52:34
|
Hi Bill, I could run the clinet and server both and i did setup the work space too. I just changed the rmi server name to my localhost and from dos command prompt I could run. I feel we need a back button soon for the application to navigate through the apps, let me see if i can work on that. Also I feel that the textbox for username and password at registration page is unusally big, Looking for more docs, how do you persist and all related Cheers Sougata Bill la Forge <laf...@ya...> wrote: Sougata, Please let me know if you are able to run it now. Hopefully I've answered your question, though there still may be NetBeans configuration issues. And keep those question coming! It is likely that you were not the only one not able to run AgileWiki. Bill sougata bhattacharya <sou...@ya...> wrote: Hi Bill, I have one question. I could not run the application. I have installed netbean 5.0 and jdk 1.5. Could you tell me how to do? Cheers Sougata --- Bill la Forge wrote: > One of the applications I'd like to implement on > AgileWiki is a mail client. I've done this in > previous versions, with varying degrees of success. > > But it requires read access--you never know the > nature of the email you are receiving. And your > email password of course needs to be private. > > Currently we have two access controls: > > restrict - limits write access to the topic with > this classifier entry to a user or group; and > npjsRestrict - limits the ability to create NPJSs > in the cabinet with this classifier entry to a user > or group. (Generally, a NPJS can be created on a > topic to which the user does not have write access. > This is different from the creation of any other > kind of topic. Think of a NPJS as a comment on a > blog.) > A third classifier entry, private, can be used to > restrict read access to a user or group. This access > control needs to be implemented early, least it > require rewriting too much of the code base. > > Bill > > > --------------------------------- > Yahoo! India Answers: Share what you know. Learn > something new. Click here > Send instant messages to your online friends - NOW Thanks Sougata Cell +919342501276 __________________________________________________________ Yahoo! India Answers: Share what you know. Learn something new. http://in.answers.yahoo.com ------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ Compstrm-wiki mailing list Com...@li... https://lists.sourceforge.net/lists/listinfo/compstrm-wiki --------------------------------- Yahoo! India Answers: Share what you know. Learn something new. Click here Send instant messages to your online friends - NOW Thanks Sougata Cell +919342501276 --------------------------------- Yahoo! India Answers: Share what you know. Learn something new. Click here Send instant messages to your online friends - NOW |
From: Bill la F. <laf...@ya...> - 2006-05-09 06:42:44
|
I don't know what kind of projects you all want to work on. But here's a suggestion for getting started/involved. Communication between clients and servers is via an XML text string. this string can get rather long. And in the case of a remote client, there are bandwidth issues. So why not compress it? We can start simply enough and just compress everything. Later we can make things smarter and do selective compression. There are only two modules that need to be changed... org.agilewiki.framework.Portal (located in the AwServer project) and org.agilewiki.client.PortalWrapper (the Java 1.5 version is located in AwCommon, the Java 1.4 version is located in AwServlet). Anyone interested in workin gon this? If not, then what are you interested in? Please let me know. :-) As we progress, we can go for larger projects, but I'm thinking that it might be best to start small. And of course, you can (and should) use this list as a resource. Looking forward to hearing from everyone. Bill --------------------------------- Yahoo! India Answers: Share what you know. Learn something new. Click here Send instant messages to your online friends - NOW |
From: Bill la F. <laf...@ya...> - 2006-05-09 01:28:57
|
Sougata, Please let me know if you are able to run it now. Hopefully I've answered your question, though there still may be NetBeans configuration issues. And keep those question coming! It is likely that you were not the only one not able to run AgileWiki. Bill sougata bhattacharya <sou...@ya...> wrote: Hi Bill, I have one question. I could not run the application. I have installed netbean 5.0 and jdk 1.5. Could you tell me how to do? Cheers Sougata --- Bill la Forge wrote: > One of the applications I'd like to implement on > AgileWiki is a mail client. I've done this in > previous versions, with varying degrees of success. > > But it requires read access--you never know the > nature of the email you are receiving. And your > email password of course needs to be private. > > Currently we have two access controls: > > restrict - limits write access to the topic with > this classifier entry to a user or group; and > npjsRestrict - limits the ability to create NPJSs > in the cabinet with this classifier entry to a user > or group. (Generally, a NPJS can be created on a > topic to which the user does not have write access. > This is different from the creation of any other > kind of topic. Think of a NPJS as a comment on a > blog.) > A third classifier entry, private, can be used to > restrict read access to a user or group. This access > control needs to be implemented early, least it > require rewriting too much of the code base. > > Bill > > > --------------------------------- > Yahoo! India Answers: Share what you know. Learn > something new. Click here > Send instant messages to your online friends - NOW Thanks Sougata Cell +919342501276 __________________________________________________________ Yahoo! India Answers: Share what you know. Learn something new. http://in.answers.yahoo.com ------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ Compstrm-wiki mailing list Com...@li... https://lists.sourceforge.net/lists/listinfo/compstrm-wiki --------------------------------- Yahoo! India Answers: Share what you know. Learn something new. Click here Send instant messages to your online friends - NOW |
From: Bill la F. <laf...@ya...> - 2006-05-09 01:25:35
|
AwServlet can not be run unless both the rmiregistry and AwServer are running. AwServlet is a war file and needs to be run inside a web server. Fortunately NetBeans includes an embeded web server--Jakarta TomCat. 'Nough said for now on this topic. We can deal with NetBeans configuration issues as they arrise. First lets make sure you can run everything else outside of NetBeans. Bill --------------------------------- Yahoo! India Answers: Share what you know. Learn something new. Click here Send instant messages to your online friends - NOW |
From: Bill la F. <laf...@ya...> - 2006-05-09 01:03:41
|
Like AwServer, AwSwingClient can be run from or outside of NetBeans. (You can even run the server and multiple clients from within NetBeans. Its a great tool.) Here I'll only give a few pointers, as I've already covered how to run AwSwingClient connected to agilewiki.org. But first, a quick note about AwServer. When it is started successfully, it always displays the message AgileWiki3 Server is ready. There are things that can cause problems. If for example you forgot to delete that AgileWiki.properties file, it will just hang because the rmiregistry is confused by the host name that was given. It will also hang if you try to run more than one copy of AwServer. OK, again in the top-level directory, AgileWiki3, there is a startSwingClient.bat file. This file contains the following: java -jar AwSwingClient\dist\AwSwingClient.jar Again, the directory containing the jar file must have a lib directory. The lib directory must contain both AwCommon.jar AND swing-layout-1.0.jar. (The swing layout jar file is provided by NetBeans.) When you start running the swing client, it prints one line: rmiName=Ark This is important. It tells you which server you are connecting to. When connecting to the server at agilewiki.org, it prints this line: rmiName=//agilewiki.org:1099/Ark --------------------------------- Yahoo! India Answers: Share what you know. Learn something new. Click here Send instant messages to your online friends - NOW |
From: Bill la F. <laf...@ya...> - 2006-05-09 00:47:54
|
The AwServer can be run either from NetBeans (handy for debugging) or outside it. I'm only going to cover how to run the server outside of NetBeans here. (Running it inside of NetBeans is more a matter of configuring NetBeans to use the right Java platform and opening the project.) First, the rmiregistry must already be running, and with the classpath set to include AwCommon.jar. Now if you look in the top level directory, AgileWiki3, of the download file (AgileWiki3-alpha21) you will see startServer.bat. This file contains the following: java -jar AwServer\dist\AwServer.jar Really the only requirement here is that the directory containing AwServer.jar also holds a lib directory which holds AwCommon.jar. The server must, of course, be running before/while you are using a client. The server normally dynamicly assigns itself an anonymous port. However at agilewiki.org it is running behind a firewall, so there a parameter file is used to assign port 1098. The server by default uses the name "Ark" when it binds its self to the rmiregistry, but this also can be changed by the parameter file. When binding a name for itself on the rmiregistry, it provides both its name and port number. It also gives the prefered host name. But it must be running on the same host as the rmiregistry. Three files are created by the server the first time it is run, in the directory from where you invoke it (the working directory): AgileWiki.wdb3 -- the database AgileWiki.wdbb -- the before image file and AgileWiki.wdbl -- the log file. The server is moderately robust. You should be able to crash it repeatedly and it will recover ever so gracefully. Unfortunately there is still a bug and occasionally it will not restart. This doesn't happen too often (unfortunately from the perspective of finding this bug). But when it does, you can simply delete these 3 files and restart. But then you've lost all your content! --------------------------------- Yahoo! India Answers: Share what you know. Learn something new. Click here Send instant messages to your online friends - NOW |
From: Bill la F. <laf...@ya...> - 2006-05-09 00:18:25
|
When running AwServer locally, you MUST first start the rmiregistry with the appropriate classpath. Here we will just focus on the rmiregistry. I never run this program from within NetBeans. It is run in a separate window (I'm assuming windoz.) So, you have downloaded AgileWiki3-alpha21.zip and unzipped it. The top-level directory is AgileWiki3. Now there is a file there that you should delete immediately: AgileWiki.properties. This file will cause the client program(s) to access the remote server--but we want to work with a local server. Now you will see the file startRegistry.bat. It contains the following: set classpath=AwCommon\dist\AwCommon.jar rmiregistry You can run this from a DOS box, double click on it, or even create a shortcut to it. The rmiregistry program is included with java. The important thing here is to first set the classpath. YOU MUST LEAVE RMIREGISTRY RUNNING. The server, at startup, connects to the registry to identify itself. The client(s), at startup, connect to the registry to locate the server. Generally the rmiregistry uses port 1099 by default. You can give a different port number when you start it, but then you must tell the server and clients about this new portnumber. One last thing. The rmiregistry must be running on the same computer as the server. This is a security restriction. Clients are not under such a restriction. Only a client must be able to communicate with the rmiregistry where the server is running and (via a separate port number) with the server. --------------------------------- Yahoo! India Answers: Share what you know. Learn something new. Click here Send instant messages to your online friends - NOW |
From: Bill la F. <laf...@ya...> - 2006-05-08 23:53:59
|
I want to answer your question in several parts. The first is AwSwingClient, connected to the server at agilewiki.org. My assumption here is that you are NOT running behind a web proxy. I can not do this from the office, as Sun Microsystems uses a web proxy. For this it is probably best to download the AwSwingClient-alpha21.zip file from http://sourceforge.net/project/showfiles.php?group_id=106672&package_id=179488 First, unzip the file. There are two directories: 1. AwSwingClient -- this is the top-level directory. it contains a .properties file, a .jar file and a .TXT file, as well as the lib directory. 2. The lib directory then contains two additional .jar files. The AgileWiki.properties file is optional, but in this case it is used to locate the server. It contains a single line: rmiName=//agilewiki.org:1099/Ark The README.TXT file holds the instructions on how to run the client. It contains the following: To run the AwSwingClient from the command line, type the following: java -jar "AwSwingClient.jar" Now there are two things required (besides internet access without a proxy): 1. you need to be in the AwSwingClient directory itself. 2. you need java 1.5. To confirm that you have the correct version of Java installed, enter this command: java -version You should get a sponse like this: java version "1.5.0_06" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05) Java HotSpot(TM) Client VM (build 1.5.0_06-b05, mixed mode, sharing) Note that you do not need exactly the same version. 1.5 should be sufficient. Now you can just enter the following command: java -jar "AwSwingClient.jar" And it should start the Swing client. Be sure to register or login. Further note. As of release alpha-21, the server validates the version of the client. So you needs must always run the same (generally the latest released) version when accessing the remote server. Bill sougata bhattacharya <sou...@ya...> wrote: Hi Bill, I have one question. I could not run the application. I have installed netbean 5.0 and jdk 1.5. Could you tell me how to do? Cheers Sougata --------------------------------- Yahoo! India Answers: Share what you know. Learn something new. Click here Send instant messages to your online friends - NOW |
From: sougata b. <sou...@ya...> - 2006-05-08 15:06:24
|
Hi Bill, I have one question. I could not run the application. I have installed netbean 5.0 and jdk 1.5. Could you tell me how to do? Cheers Sougata --- Bill la Forge <laf...@ya...> wrote: > One of the applications I'd like to implement on > AgileWiki is a mail client. I've done this in > previous versions, with varying degrees of success. > > But it requires read access--you never know the > nature of the email you are receiving. And your > email password of course needs to be private. > > Currently we have two access controls: > > restrict - limits write access to the topic with > this classifier entry to a user or group; and > npjsRestrict - limits the ability to create NPJSs > in the cabinet with this classifier entry to a user > or group. (Generally, a NPJS can be created on a > topic to which the user does not have write access. > This is different from the creation of any other > kind of topic. Think of a NPJS as a comment on a > blog.) > A third classifier entry, private, can be used to > restrict read access to a user or group. This access > control needs to be implemented early, least it > require rewriting too much of the code base. > > Bill > > > --------------------------------- > Yahoo! India Answers: Share what you know. Learn > something new. Click here > Send instant messages to your online friends - NOW Thanks Sougata Cell +919342501276 __________________________________________________________ Yahoo! India Answers: Share what you know. Learn something new. http://in.answers.yahoo.com |
From: Bill la F. <laf...@ya...> - 2006-05-08 14:37:06
|
One of the applications I'd like to implement on AgileWiki is a mail client. I've done this in previous versions, with varying degrees of success. But it requires read access--you never know the nature of the email you are receiving. And your email password of course needs to be private. Currently we have two access controls: restrict - limits write access to the topic with this classifier entry to a user or group; and npjsRestrict - limits the ability to create NPJSs in the cabinet with this classifier entry to a user or group. (Generally, a NPJS can be created on a topic to which the user does not have write access. This is different from the creation of any other kind of topic. Think of a NPJS as a comment on a blog.) A third classifier entry, private, can be used to restrict read access to a user or group. This access control needs to be implemented early, least it require rewriting too much of the code base. Bill --------------------------------- Yahoo! India Answers: Share what you know. Learn something new. Click here Send instant messages to your online friends - NOW |
From: Bill la F. <laf...@ya...> - 2006-05-08 12:57:49
|
The new ch command allows you to change the content of a document--every topic has a document, though it may be empty. I also just fixed the swing checkbox. --------------------------------- Yahoo! India Answers: Share what you know. Learn something new. Click here Send instant messages to your online friends - NOW |