Just in case you haven't seen the big announcement: AutoEdge is finally available on PSDN!
http://www.psdn.com/library/entry.jspa?categoryID=298&externalID=1686
There's a lot of "stuff" there (documents, code, recordings) so have a look, and tell us what you like and also what you don't like.
Oh. And I realize you all want those shiny new headphones. So here's the deal. First one to post the phone number of "Stiller Motors Inc." here gets 10 points. 5 points to the first ones who post Fax number for "Stiller Motors Inc." or "Roth Brothers Corp.". Of course you'll only get points for one of these, so don't post them all :P
Gutted, you could at least have pick the phone number of Mike the sales guy
I just want to echo Christians comments in so far as to say, yes please let us have as much feedback as you can on AutoEdge. It's fair to say that something like AutoEdge hasn't been done before internally within Progress (and maybe never will again if you don't think it valuable!
Mike
For starters, you might want to run the web portal login page through a spell and grammar checker:
The access of this portal is secured. If you have obtain some user profil this one will remain the same.
If not, thank you to ask for some profil (user/password) through an email
Oh, and include the main portal page too:
The main purpose is to expose a set of evolving samples using Progress products. Thsi includes :
Is the portal tested against Firefox 2.0? I get to the WebClient install, click on install, get javascript:startInstall() at the bottom, and then ... nothing. In IE, I immediately get the installer.
What is this problem PSC seems to have keeping current with their own releases? Why 10.0B when 10.1A has been out all year. Yeah, I know better than to expect any actual class files or anything exotic like that, but how long does it take to do a recompile?
If the instructions on the screens are going to be in English, why are the colors and engine types in French?
Running Dealer01 with the XP appearance and clicking on Maintain/Approve under Testdrive, I get:
Warning (Press HELP to view stack trace)
**Unable to set Y. Frame fsv does not fit in FIELD-GROUP
Although the window then opens...
I am getting HQ and Super Voiture SA (Concessionaire No1), not Stiller and Roth. Are those only in the down load code?
I also don't see the test drive I put in to the web app.
Clicking on Car List under reporting gets me Crystal Reports Runtime cannot be found.
I guess I am going to back up and do the download, since I am not getting a lot out of the Webclient version. I downloaded Dealer01, Dealer02, and DealerHQ. While there were no instructions on what to do after downloading, I clicked on the prowcapc file and the application came up, but every regular Windows type screen give me the error cited above. And the three variations seem to give me exactly the same data and screens, so I'm not sure what the difference between them is. BTW, after doing the initial download of Webclient in IE, as noted above, I am running this stuff in Firefox 2.0.
Hi Thomas,
I apologize for this frustrating experience. The "hosted" part of this was done outside our group, and apparently hasn't been tested enough (and is runnign an old version). I'll see that we can get this part of the instructions pulled till we have a chance to look into it.
Try out the download and install it. I can't promise it's perfect, but here is what I know:
- it's been tested a lot more
- the reporting works (if you install the Crystal runtime, more info in the install doc)
- it comes with a Getting Started Guide that walks you through the first steps after installing it
- the data is in English (and should have the right Dealer names)
- it is running under 10.1A
Let me know if you run into any problems with that option...
BTW, I think it is peculiar how often PSC makes downloaded material available as .doc files instead of as PDFs.
On the WebClient Help page there is a note about viewing the full EA HTML models. Might it be possible to get the EAP file?
When you install AutoEdge, the Enterprise Architect project file (EAP) is in Documentation => Specifications from the program group or in \autoedge\doc\Specifications.
On the WebClient Help page there is a note about
viewing the full EA HTML models. Might it be
possible to get the EAP file?
The EAP file is in the doc directory / start menu, under Specifications.
If you don't have Enterprise Architect, you can download a trial version or a free read-only viewer on their website (http://www.sparxsystems.com/products/ea.html). the HTML version was included for people who do not want to install these products.
The fun continues ... I downloaded the Guide with no issues, but I downloaded the tour recording, clicked on that, a browser window/tab opens saying Created by Camtasia Studio 3 ... and white screen in browser and that's it. Again, this is opening in Firefox. I tried dragging it on to an IE instance, but nope ... If I right-click and select open, it opens in Firefox and I get a Screencast loading in the center, but it doesn't continue.
Great, when I get that far, I will open it in EA. I have it and that is why I would be interested to see what you have done. If you can look in the beta forum, there is one of my early efforts in the doc and code I just posted there.
Thomas, the recordings were tested with IE 6. I can drag-n-drop the executable or open it directly from PSDN in IE with no problems. We are checking on any issues with Firefox.
If I drag GettingStarted Recording.exe over an IE6 window, then I get a choice of Save or Open. Since I have already downloaded it, Save isn't useful. Open causes it to open in Firefox, not IE. I am getting the same results with the recordings in under the hood.
BTW, the Under the Hood organization could be better. Each of the downloads has at least one identically named file, so one is inclined to think that one needs to unzip each one into a unique location. Tedious.
Another typo in the Under the Hood web page:
Supply Chain integration (B2B) integration
On the Installation Guide page, it indicates that IIS is optional unless one wants tht Webspeed consumer interface. When I click on AutoEdgeSetup 1.2.exe, it complains that IIS is not installed and quits.
I appear to be stuck trying to get this installed. I was hoping the Installation Guide would give me some alternate procedures, but it looks like it wants to use the same tool that won't do anything without IIS.
I just tried both Opera 9 & Firefox 2.0. Both worked without problems. If your still experiencing problems with FireFox, try extracting the .exe files first then simply drag the main HTML page onto Firefox and all should work.
HTH
Mike
The link on the Guided Tour page to the web portal has been removed.
For at least one example, extracting and dragging seems to work. I'll let you know if this takes care of all of the videos.
I'd sure like to install the app, though. I'm not sure I even need it to run, but I'd like to be able to look through the code. Not too keen on having to install IIS on my workstation just to get it up.
Warning: Just looking at the recordings... (wow!!, a lot of them!!)
Question: All the validations are only fired trying to save the data?. What about quick validations in the UI?. It´s necessary to duplicate the bussines rules in both tiers?. Some guide to read/look at?
Regards,
Sorry about the installation problems. We are working on removing the IIS requirement during the install. We hope to post an new install executable in the next day or so..
Despite the flurry of problems, my compliments on the contents. The Camtasia routines provide a nice overview ... if being a little redundant ... and the Topics of Interest documents are a great resource.
Now, if I could just get the code ...
Stiller Motors voice 781-555-4444
But I hope there is something other than headphones in the offing since I just got my phones from the first month's contest.
BTW, I broke down and installed IIS ... now I have to get AppServer running ...
The one possible downside to the richness of this application is the complexity of the environment one has to create in order to install and run it.
I have had a quick look through the AutoEdge EAP .... I think this is just super. It is a wonderful example where one can look at model and code with a reasonable amount of substance. Of course, one does have to deal with the perversion of using .p and .i, but ...
Question: All the validations are only fired
trying to save the data?. What about quick
validations in the UI?. It´s necessary to duplicate
the business rules in both tiers?. Some guide to
read/look at?
Yeah, basically we do the validation on the server. This might not be what you'd do in a real application, but we did put the focus on the back end and how validation is done in the Business Entities, and how errors are sent back to the client.
Some of these validation checks could be done client side, and only those that require the Data Access layer or other Business Entities would be done server-side. However, you might still want to duplicate this validations on the server. they might be redundant in some cases, but you might have the Business Entity called from a client that you don't control, and you can't predict whether the client has validated a field or not.
We do show you some examples, but there's certainly a lot more options to do this. From simple client-side checks to asynchronous AppServer calls that do some validation in the background when you leave a field but without blocking the UI till they are finished, there are a lot of different ways to tackle this. Maybe a good topic for a discussion here or a potential white paper?
BTW, I broke down and installed IIS ... now I have to
get AppServer running ...
The one possible downside to the richness of this
application is the complexity of the environment one
has to create in order to install and run it.
Yes, it's quite a complex setup. We tried to make it easier by providing the installer instead of just giving out source code and instructions, but of course it's not perfect.
What's the issue you have with the AppServer? The setup should have created new entries in the ubroker.properties file which create AppServers (HQ, Dealer1, Dealer2) and a Webspeed server (HQ). Do you see those in the Progress Explorer?
Oh, and if you like the UML diagrams, check out the LiveDoc icons on the screens (well, once you got it all running). While it does not show you all the models, you get some relevant UML models for a particular screen / use case / business entity right from the screen...
I think you have to do all validations server-side, the only question is whether you duplicate some of those validations client side. I don't think this is really anything new, just that it applied in fewer cases in an integrated application. E.g., one enters an order line for a customer that does not accept back orders, but it isn't until one allocates stock to the line that one knows whether it will ship.
Rather than thinking of this in terms of "oh my gosh, the client is going to be sending in all kinds of garbage that will get rejected", one should be thinking in terms of how to design the client so that it is unlikely that the client will create invalid data. E.g., combo boxes for code tables so that one isn't depending on the user to type in a valid code.
What's the issue you have with the AppServer? The setup should have created new entries in the ubroker.properties file which create AppServers (HQ, Dealer1, Dealer2) and a Webspeed server (HQ). Do you see those in the Progress Explorer?
Well, for starters, there has never been AppServer on this machine and I have never set up AppServer on any other machine, so I am working from blissful(wrong!) ignorance.
And I have never used Explorer since virtually every installation I have ever done the database has been on a Unix box of some flavor and has been managed by our scripts.
Well, for starters, there has never been AppServer on
this machine and I have never set up AppServer on any
other machine, so I am working from blissful(wrong!)
ignorance.
Well, in that case everything might be running just fine
In the AutoEdge start menu, go to "Server - All - Start AutoEdge Servers". That should start all the databases, AppServers and the WebSpeed server. And then you should be good to go!
If you want to look at the AppServer config (and have never used it): start Progress Explorer, right click on the "Progress Explorer" node, choose "Add Progress server". leave it as localhost, hit OK. Right-click on the "localhost" node, select "Connect". Log in with your username / password (don't need password if you are admin I think).
Now under AppServer and WebSpeed you should see the entries, starting with asAutoEdge / wsAutoEdge. Right click on one and select "Status", and if everything is setup ok, you should get some info that says the status is ACTIVE and there is at least 1 available server. If it doesn't - well, post here and we'll look into it
Well, in that case everything might be running just fine
Not likely. I expect I will need to do some install of additional 10.1A components at the minimum since I elected not to install a number of things when I installed 10.1A because they required things like IIS that weren't installed. Likewise, I think I have not yet installed Sonic 7 for similar reasons.
Server - All - Start AutoEdge Servers
Which gives me a DOS box with some error messages, which then disappears before I can read them.
leave it as localhost,
There was already a localhost node, so I deleted the second one.
Now under AppServer and WebSpeed you should see the entries, starting with asAutoEdge / wsAutoEdge
Nope, but then I haven't finished working my way through the install instructions since I knew that there were things missing.
I just starting with OO and just recently take contact with 10.1A, so be patient with me...
In another thread, I saw some postings talking about patterns and the possibility to use (when appropiate) existing patterns developed for other languages in OE... Maybe it's an option...
By the way, I agree with the "100% validations in the server side" idea, what I don't have clear enough it how to 'modularize' them to have only a place where we could develop the business rules and use in both sides...
Regards,
so be patient with me...
At least as patient as we are with each other ... oops, maybe I shouldn't have said that?
I saw some postings talking about patterns and the possibility to use (when appropiate) existing patterns developed for other languages in OE... Maybe it's an option...
Indeed, it is very clear when one starts to get into AutoEdge that the authors have been quite aware of such patterns and have used them extensively. At this point, unfortunately, AutoEdge is still .w, .p, and .i files, so the implementation form of the patterns might be a bit different than one would expect in an OO application, but the concepts are still there. If you poke around in other threads you will find us arguingHHHHHH^Hdiscussing the merits of various interpretations of the MVC pattern, which directly applies to this issue.
To me, the easiest way to get the right rules in the right places without duplicating work is to define the rules in a UML model and use MDA to generate the code.
At least as patient as we are with each other ... oops, maybe I shouldn't have said that? :)
It's ok for me!
To me, the easiest way to get the right rules in the right places without duplicating work is to define the rules in a UML model and use MDA to generate the code.
Very interesting idea..., but... This means that ALL the logic should exists in the UML model to be available to code generation. NO manual coding should be allowed. Or I'm missing something?
Regards,
This means that ALL the logic should exists in the UML model to be available to code generation. NO manual coding should be allowed. Or I'm missing something?
There are two very different schools of thought on this (probably more, but two for now). One school tends to believe that 100% generation is not possible and anyway, they like writing code, so the purpose of the MDA generation is to get "most" of the logic there and then a "real" developer fills it in. Any changes to the model parts are reverse engineered back into the UML and the other stuff is at the least preserved in the next generation.
The other school, me, tends to believe in the possibility of 100% generation and thinks the point is getting the job done, not writing code. As noted in the other thread ... I'm not following you around, really ... the part that has to do with algorithms needs to be written in some kind of Action Language anyway, but this is incorporated into the model. So, in my target system, yes, one would not modify the generated ABL except for testing purposes.
The other school, me, tends to believe in the possibility of 100% generation and thinks the point is getting the job done, not writing code.
I never could work with a tool like this, but it exists in my dreams!. I'm with you about the idea to have 100% generated system and to have the job done... Please, have you some starting point to take contact with Action Language concepts? I just google for it and there are zillions of URL´s....
Regards,
Actually, the starting point for thinking about Action Language is actually to start with the UML because the first thing that one needs to recognize is all the things it isn't. Most of the application is defined by the UML models themselves with no use of Action Language. E.g., a typical file maintenance function probably needs no Action Language at all. There is even another simple language call Object Constraint Language, OCL, which is fully defined and standardized, which is used to define constraints between objects. Only after you have modeled everything else using all available UML capabilities do you resort to Action Language.
You can go to OMG and read about Action Language Semantics, but frankly it is pretty dull reading. A better way to get an idea of what I am thinking about is to look at something like Executable UML: A Foundation for Model-Driven Architecture by Stephen Mellor and Marc Balcer from Addison-Wesley. This book talks about the idea of actually being able to execute the UML model and, of course, to do that, one needs a complete specification. They describe their own Action Language in the book, but in the context of all of the other parts of the UML models and provide short references on a couple of other Action Languages.
Myself, I am thinking in terms of using a subset of the ABL itself as the Action Language ... I stopped counting new languages I learned at 50 and so I don't want to learn any more because they won't count
In autoedge/changedealermodel.p there is the following code:
:
RUN fetchWhere ( INPUT "DealerList":U,
INPUT "fetchWhere":U,
INPUT (DATASET dsContext:HANDLE),
OUTPUT DATASET dsDealerList,
OUTPUT cException).
IF cException <> "":U THEN
RUN reportException(cException).
END.
I am having trouble finding out where &Try is defined, especially since this is a .p.
Clues?
You'll find it in src/server/oeri/support/proExceptionStart.i
&GLOBAL-DEFINE Try clearException(). DO ON STOP UNDO, LEAVE
You'll also find the definitions for the catch functions.
FUNCTION catch RETURNS LOGICAL (INPUT pcType AS CHARACTER) IN SUPER.
FUNCTION catchAll RETURNS LOGICAL IN SUPER.
FUNCTION catchError RETURNS LOGICAL IN SUPER.
FUNCTION catchSystemError RETURNS LOGICAL IN SUPER.
FUNCTION catchRuntime RETURNS LOGICAL IN SUPER.
FUNCTION clearException RETURNS LOGICAL IN SUPER.
Trying to execute AutoEdge Dealer #1, I'm getting this error:
La tabla "collation" para el código de pagina UTF-8 y el nombre "collation" SPANISH9 no está en convmap.cp (1043)
I have only spanish language installed...
Regards,
Thanks. I'll chase it down.
And the meat to which this points is in src/server/oeri/support/proException.p which is run as a session super.
Did I understand elsewhere that you have the intention of moving the AutoEdge code to .cls structure?
If so, will you maintain both versions equally?
Has this work started? If so, how far along is it?
A couple of small cosmetic issues:
In src/server/oeri/Support/proException.p, there are three places in the comments where it says instead of and several reference in the comments to deleteException, which is actually clearException in the code.
Phil, Christian, Mike,
Where is the best place to list little things like this? I guess new threads in this forum isn't really the best place. Should there perhaps be a new sub-category "Feedback" created under the library category so that people could add comments? Hmmm... that doesn't sound like an interactive forum where we could exchange ideas.
Thoughts??
Interactive forum seems like a better idea. One could simply have an e-mail address for reporting stuff, but then no one else gets to see the report and possibly comment on it. Some of this stuff is cosmetic and I suppose there might be a bug or two somewhere, but I think there are likely to be a lot of things that are questions where one would definitely like the opportunity to exchange ideas. I am definitely developing some questions about the exception handling, for example, which has some interesting bits, but I wonder about some of the design choices.
I think the forum is a good place to report and discuss things. But maybe we need to split it into several threads. Like one for issues with the install, one for discussion about design decisions, one about ideas for extending it, etc... Would that work better?
Perhaps we could even use a separate forum for AutoEdge? There is likely to be a flurry of stuff that comes up right away because it has just been released, but I'm sure that other people will be getting to it more gradually. It would be good to have a visible place to cover all of the topics. You folks clearly put a lot of work into this and did so in a way that there is a lot of concrete stuff to think about.
Do you have any estimate of the total person months of effort that went into this?
Perhaps we could even use a separate forum for AutoEdge?
I vote yes!
Did I understand elsewhere that you have the
intention of moving the AutoEdge code to .cls
structure?
If so, will you maintain both versions equally?
Has this work started? If so, how far along is it?
Hi Thomas
As you can imagine we are indeed looking at what we should provide in terms of OO based work within AutoEdge. Now in all honesty, my gut feeling is that what ever we do will be in addition to the current code base. For two main reasons, one so we can show co-existence between the procedural world and the OO world (which I think going forwards will be the use case for the vast majority of people), secondly so we can add to the AutoEdge business story. The upshot of this would be that we wouldn't now go back and re-engineer the whole of the AutoEdge application to be OO, but extend and add new pieces, some of which would be mixed, some which would be just OO.
In terms of where we're at with this, we're still in the planning and designing phase. I'm mean come on, give us a chance, we only just released this version and already you want the next one I think the guys deserve a little breather
We'd also like to see what reaction there is to AutoEdge, as the first body of work, as you've seen there is already a lot of material for people to go through!
Hi Daniel,
Can you please add the following line to the 'autoedge.pf' file which is in /autoedge-local/cfg/autoedge.pf (so the default directory is 'C:\Program Files\OpenEdgeAE\autoedge-local\cfg\autoedge.pf'):
-cpcoll Basic
This should remove the error and use the sorting available in the DB. It will only affect the AutoEdge client not your standard OpenEdge installation.
Done, and working now!!
Thanks!!!
We have posted an updated installer (1.2.1) with some fixes. You should now be able to install AutoEdge if you don't have IIS installed, and we changed the configuration files to fix the code page issue.
While we don't get our own AutoEdge forum (yet?), I'll start a couple of new threads to structure the discussions a little bit more. Feel free to start any new threads on your own, and just put "AutoEdge - " in the title. So for example, "AutoEdge - Error Handling" or something like that.
Oh, and thanks for the feedback so far!
The upshot of this would be that we wouldn't now go back and re-engineer the whole of the AutoEdge application to be OO, but extend and add new pieces, some of which would be mixed, some which would be just OO.
Well, I might have to do it for you then!
I'm mean come on, give us a chance, we only just released this version and already you want the next one
Well, the reason for that is that it has been a year since 10.1A was in beta, i.e., a year from the point where PSC could have been developing OO examples, and we have yet to see a thing.
Christian, I notice that one of the threads you didn't start was one for bugs.
More seriously, though, might it be possible to go through this thread and parcel the posts out to the other thread or at least copy some of the posts to initialize those threads?
The advantage of a separate forum is that people with new material can start new threads instead of looking back to find an old, dormant thread to add to.
I've created an issue tracker on the Hive:
http://oehive.org/project/autoedge
If it's useful or helpful, great. If not, I'll delete it.
The upshot of this would be that we wouldn't now
go back and re-engineer the whole of the AutoEdge
application to be OO, but extend and add new pieces,
some of which would be mixed, some which would be
just OO.
Well, I might have to do it for you then!
Excellent, just make sure you post back what you do into code share
I'm mean come on, give us a chance, we only just
released this version and already you want the next
one
Well, the reason for that is that it has been a year
since 10.1A was in beta, i.e., a year from the point
where PSC could have been developing OO examples, and
we have yet to see a thing.
All I can say is that OO examples will be coming. In the meantime there are I believe OO presentations from exchange etc posted on PSDN.
Excellent, just make sure you post back what you do into code share :-)
Or, perhaps OE Hive...
All I can say is that OO examples will be coming. In the meantime there are I believe OO presentations from exchange etc posted on PSDN.
I was at Exchange and have been through all the presentations from there. Certainly, OO is being discussed, but it has yet to show up in real code ... after a year ... I think Julien and I are the only one's who have published any OO code thus far.