In order for the COE departments including Planning to respond to all subdivision applications, each referral agent within the COE corporation must have software that will allow dwg file types to opened and read.
Two products are available.
First Autodesk, the owners of Autocad, had a free product called Voloview Express. However, in 2004, Autodesk changed their product line to a web based version but they still offer Voloview 3 as the current version that allows the user to open and read dwg files types. This is the product of choice for viewing dwg files.
A second alternative is Bentley Redline, a free product related to Microstation. However, this product is only good for users with Microstation knowledge and is too complicated for planners, tech, and clerical staff in the corporation. Some departments who use Microstation will use this product as the users have the working knowledge. Others inside and outside are using it as well as they have the necessary training to use it to view dwg files.
Planning's request for the newer version of Voloview was initiated on Jan 12 with no success to date. Transportation and Streets and Community Services have also requested this software and the upgrade to Voloview 3. A complete history of this is attached below.
Discussions have been held with Paul Laffin (now retired), Marcel Mudryk and others related to the use of Voloview and the need to move to the latest version was accepted as the best approach. IT did not agree as they have not certified the product even though rqeuested to initiate this through Paul Laffin.
With the advent of Ecirc, the industry is using Autocad's latest version and we will need to upgrade to view newest versions of dwg files.
It was agreed that the Business knows the needs and that the user will accept the risk with the use of the product and no support with be forthcoming from IT. On Feb. 2, 2005, Autodesk states that Volo View 3 can run on either Windows XP Professional or Home Edition. Volo View offers the same level of support for older AutoCAD files as AutoCAD itself does.
For your information there are other viewers that are possilble but since Voloview is an Autodesk product, the choice to stay with the same manufacturer is clear.
Bottom line, where is the current version of Voloview 3 and what is holding up the installation? We cannot wait for IT to certify this product; it is certified by Autodesk and the delays in installation in Planning and in other department has jeopardized the processing of all subdivision applications.
We need to get it installed ASAP.
Below is the history of this issue if you are interested.
May 5, 2004 Autodesk says "Volo View Express is no longer available. You can, however, continue to use the Volo® View Express 2.1 version as long as you would like. The replacement for it is the DWF Viewer, which is available as a free download. However, this new veiwer doesn't offer markup functions. The non-free products are Volo View and DWF Composer. These are not license to be freely deployed and carry a per seat cost. "
On June 17, the original request for installation of Voloview Express was forwarded. We all recognzed that it was the temporary solution as IT insisted that we move forward with the newer version but at that time we were on NT and there was no need to upgrade.
Paul Laffin comments are "Our old NT version of Volo View Express has been certified on XP, at your request, but on an as-is basis. We do not recommend using VVE as the vendor has discontinued this product, has not built a XP version, and does not offer support. While VVE appears to work on XP, there is no guarantee. Worse, is that the file formats handled by this product also have not been updated. While we understand the timeline and cost constraints of the e-Circulation project, please plan on replacing VVE as soon as possible.
Alternatives are: Bentley Redline: has been certified on XP, and is available at no additional cost to City staff and to external organizations.
Autodesk DWF Composer: has been certified on XP, and is available at a cost of about US$99. Autodesk DWF Viewer: has been certified on XP, and is available at no cost. Functionality is limited. Volo View 3: is an upgrade option for Volo View 2 users, and is available at a cost of about US$99. VV3 has not been purchased nor certified. We hope all VV2 users will be able to switch to Redline."
I requested the status of install for Voloview express on Oct 7, 2004. The SMS Package installed Oct 7.after XP was installed. On Nov 9, Paul confirms all installations of Volvoview Express are complete in Planning.
In Dec, I requested confirmation about Voloview Express installation across the corporation. Pauls' comments are: There has been no deliberate change at this end. VoloView Express (VVE) may be installed for any eCirculation participant. We are directing all others to RedLine from Bentley. I have asked our Certification team-lead to update our documentation to more clearly show the distinction. I believe the documentation is the source of the current problem. Please ask your folks to mention eCirculation and your name explicitly in their install requests to the Help Desk. Alternatively, you could make the install requests on their behalf. Both should succeed now."
Don Read wrote to reply to Paul (Jan 7.) "Some areas have been directed to use Bentley but the version of Bentley Redline is a far more complex tool than Voloview. Voloview is easy to use and can by worked by all planners, etc. Please advise the Help desk to install Voloview over Bentley. Thanks for your assistance in this matter. I would also like to investigate the installation of the newest version of Voloview to upgrade all the copies that have been installed. Can you provide direction for the software upgrades process across the corporation and who would I go to to identify costs, purchase, etc. Is the newest version certified? Looking forward to your reply. :-) "
Pauls reply to Don Read Jan 7 "The bad news is that no newer version of VoloView Express exists. It is a dead product according to the vendor, AutoDesk; hence our difficulty making it install and run on XP. As I understand their advice, AutoDesk recommend also migrating off the old native .dwg file format and onto .dwf, the newer web enabled file format. Then the VVE replacement is easy as they support DWF Composer. Gord, would you please work with Don and other AutoCad users to devise a long term plan for e-Circulation and the City in general. In the interim, the current VVE can be installed and used where essential for your project. I will remind our folks. "
On Jan 12, 2005 , I requested the order and install the Voloview 3. The order is sent to help desk complete with the cost center.
On Jan 26, I requested the status of the request with this respons;" The ticket number is CHG1282. There wasn't a lot of information in the ticket about what is going on with it, so I have asked the person working on the ticket to give you a call to let you know what is happening."
Feb 2. second request for status is forwarded. Response is as follows: "Asset Management is waiting on receiving a quote from the company to find out how much the licenses will cost. When they receive the quote, they will send you an expideniture approval form. The ticket is now a High priority, so hopefully this won't take too much longer."
Questions arise as to the use of the old product installed in 2004 in an email from Gord Stang; "Can you please send Susannah Parlee a description of the problem you're having with the current version of voloview (express) that you're currently using? She wants to make sure the problems are resolved with the new version (voloview 3)."
Email from Gord Stang Feb 3 Don, they're saying it's waiting for expenditure approval. That would have gone to Debby. Can you check with her to see if she's approved the expenditure yet? Thanks.
Debby completed the requested form on Feb 8, the day she received it.
On Feb 11, Gord and I discussed the delay and he sys that it is not certified as of yet and that will occur week of Feb 23. The creation of the sms package to deliver it to the 50 plus users is the appropriate way to go rather than single installs at each work station but he will need us to pay OT to have the package created next week for deployment on the week of Feb 23.
FYI, Gord is away the week of Feb 14.
I have updated this and will continue to update this daily. This is my original post that started this blog in 2004. Well here it is , my first blog, developed with me in mind. It is a place were I deposit stuff I would like to read or will read and although anyone can read it, I do not think anyone will. Disko
Sunday, February 13, 2005
Saturday, February 12, 2005
http://johnvey.com/features/gmailapi/
Gmail Agent API v0.6.1 / Mail Notifier & Address Importer
July 5, 2004
Update 10/24/2004: Released v0.6.1. Fixed some proxy issues, and updated API to recognize the "Drafts" folder.
What is it?
There are two distinct components here: an open source Gmail API written for the .NET framework, and a proof of concept Windows application built on top of that API that provides basic remote Gmail functions.
I developed these tools in the hopes of encouraging others to create interesting Gmail services. Admittedly, this project may not have a very long shelf life, as Sergey has intimated possible mail forwarding and RSS support, not to mention Gmail's recent listing of upcoming features (Gmail login required) that estimates a slew of features that are listed as “working on it” or “we'll try”. The address book import is currently listed as “sometime soon” but it's actually available now in the Contacts window. As Sergey mentioned, an enterprise version of Gmail would be well received, and I have no doubt that there would an API to go along with that (I recently integrated a Google Search Appliance, and can attest to its extensibility). Whether or not Google is interested in pursuing such features for the public side remains to be seen. Nonetheless, I hope to keep this project going, and wouldn't mind joining the Gmail team — there are lots of features I'd like to see implemented in Gmail.
This project has been mentioned in InfoWorld and The Sydney Morning Herald.
Who's using it?
Other projects that are related to the Gmail Agent API:
Project
Platform
Description
JGmail
Java
An open source port of this API.Author: Todd Lindner
Gmailer
PHP
An open source API for Gmail. Also included is Gmailer-lite, a bare HTML version of Gmail that doesn't require Javascript.Author: Ying Hung Gan
GmailerXP
.NET
A Windows application that extends the proof of concept app here by replicating the entire Gmail interface as a Windows application.Author: Abiel Jaquez
GNotify
.NET
A Windows system tray notifier that includes audible alerts in addition to balloon tips.Author: Michael Isabella
Gmail Notifier
Win32
The official Gmail system tray notifier.Author: Google
About the Gmail Agent Applet
I'm sure most of you are more interested in the applet, so here are the features:
Multiple account support
Balloon notification of new messages with message preview
Address book view and import (from tab-delimited text files)
The system requirements are:
Windows 98SE, or higher
Microsoft .NET Framework v1.1
I have implemented a couple recommendations to make this Mono compatible but the results are still spotty. Let me know if you've successfully debugged this under Mono. If you are interested in POP access to Gmail, check out GPopper (formerly known as Pop Goes the Gmail).
This is a proof of concept application, and there are plenty of idiosyncracies. It works great for me, but your results may vary. I welcome anyone who wants to contribute to polishing this app.
Download the installer »
About the Gmail Agent API
The goal of the API is to provide an extensible foundation for interfacing with Gmail. The objects in this namespace should be abstracted enough to be able to be adpated to any future changes Gmail makes.
Read the documentation for Gmail Agent API 0.6.1 to see what's available.
The main workhorse of this class is GmailAdapter. It is responsible for communicating with Gmail and maintaining the login and session information through the duration of the application. The GmailSession object holds all the state information for a single Gmail account, including a GmailThreadCollection of GmailThread objects. The GmailContact object represents a single Gmail address book entry. Again, GmailAdapter provides the methods to fill a GmailContact with information from Gmail.
Connection Overview
One oddity with the API is that it uses TLS instead of SSL for the encryption layer. For reasons unknown, the SSL provider was extremely intermittent and often failed to establish a secure link so I manually set the ServicePointManager to use TLS 1.0. This seems to be a common problem among .NET developers, and if anyone has a stable solution, I'd love to hear about it.
Here is a bare-bones example of how to establish a connection with Gmail using the API:
// init new adapterGmailAdapter gmail = new GmailAdapter();// create new session and assign username and passwordGmailSession myAccount = new GmailSession();myAccount.Username = "googler";myAccount.Password = "showmethemoney";// login and retrieve mailbox infoGmailAdapter.RequestResponseType loginResult = gmail.Refresh(myAccount);// display mailbox infoif(loginResult == GmailAdapter.RequestResponseType.Success) { // show new inbox count Console.WriteLine("New Threads: " + myAccount.DefaultSearchCounts["Inbox"]); // if new threads exist, show the subject of the first one if(myAccount.UnreadThreads.Count > 0) { GmailThread newThread = (GmailThread)myAccount.UnreadThreads[0]; Console.WriteLine("Latest thread subject: " + newThread.SubjectHtml); }}
Source and binaries
Download the Visual Studio.NET solution source code (v0.6.1).This includes the source for the API, applet, and the Windows Installer projects.
Download the Windows help file version of the API documentation.The online HTML version is also available.
Download the Windows Installer for GmailAgent v0.6.1.This includes the Johnvey.GmailAgent assembly and XML documentation.
» Discuss the API and its applications over at the Gmail Agent Google Group.
All material released on this page relating to Gmail is licensed under the GNU General Public License.
About the Gmail engine and protocol
You've probably noticed that Gmail's interface is extremely fast when compared to other web-based email systems like Yahoo! Mail and Hotmail. This is a result of Gmail's placement of the UI engine on the client-side as a JavaScript module. Whenever you log in to Gmail, a copy of the UI engine is loaded into one of the HTML page frames and remains there for the duration of your session (credit has to be given to Oddpost for being the first ones who perfected this idea). Subsequent actions from the Gmail interface are then routed through the Gmail UI engine in your browser, which in turn makes HTTP requests (via the XmlHttpRequest object) to the Gmail server, interprets the DataPack (more on this later), and updates the UI dynamically. In contrast, Hotmail and Yahoo! Mail follow traditional web application models and reload the entire UI after almost every action.
The item most relevant to this project is what I refer to as the “DataPack”, a base HTML file that contains only JavaScript array declarations that the UI engine parses and then uses to determine what to update. The advantages of this should be immediately obvious: reduced traffic load, and increased functionality — especially for developers who no longer have to resort to crude “screen scraping” techniques to interface with web applications. Although the ideal situation for external developers would be an XML-based DataPack, the JavaScript version is sufficient (and I suspect it was chosen for performance reasons as well).
The DataPack format consists of individual “DataItems”, or JavaScript arrays wrapped in a envelope function. An example:
D(["ts",0,50,106,0,"Inbox","fd36721220",154]);
The function D() references a runtime evaluator within the Gmail engine, which then interprets the attached array parameters. The "ts" element indicates that this is a threadlist summary item, and the subsequent elements denote start index, threads per page, estimated total, threadlist title, threadlist timestamp, and total threads. This is the same format that is applied to all array parameters sent through the DataPack:
[(,)]
The mappings to all the DataItems can be found in the engine code source (/gmail?view=page&name=js). For instance, qu contains quota information, while ct contains category (a.k.a. labels) definitions. Read through that file if you really want to get everything you can out of Gmail.
Determining the right URL to retrieve the DataPack is pretty straightforward, as most requests will return the same basic information, such as quota, category count, and inbox count. The main thing that changes is the threadlist summary, which depends on what page you're looking at. All the main folders — inbox, starred, trash, spam, etc. — are all really just pre-defined searches within Gmail. For example, the inbox DataPack URL is:
/gmail?search=inbox&view=tl&start=0&init=1&zx=
The search query for all unread threads is:
/gmail?search=query&q=is%3Aunread&view=tl&start=0&init=1&zx=
The main parameters are search= and q=, which define what set of threads the user is requesting. The zx= parameter is a proxy cache defeater, and I've omitted it here for brevity. See GmailAdapter.MakeUniqueUrl() for more information.
Gmail exploits another advantage of the DataPack model to increase efficiency by allowing for an empty document. This is employed by the 2-minute auto-refresh request. The inbox URL adds a few more parameters:
/gmail?view=tl&search=inbox&start=0&tlt=fd8dfa2e31&fp=c155594240dcc7cb&auto=1&zx=
The tlt= parameter is the thread list timestamp, which is treated like a checksum in determining the state of the client versus the mailbox state on the server. If the client timestamp is older than the one on the server, then a full DataPack is sent. Otherwise, Gmail sends an essentially empty DataPack.
Revision History
v0.6.0 (9/6/04): Version 0.6 Released. This version adds proxy support, compiles under Mono (I think), and changes the default click behavior for the icon to open the Gmail site.
v0.5.1 (8/15/04): I've updated the API to work with the new login procedure. Download version 0.5.1 below. The changes were minor (Gmail moved the GV variable from a client-side Javascript call to a HTTP response header call), but a quirk with the .NET cookie handler was mucking things up. Apparently, sending a subdomained cookie (e.g. gmail.google.com instead of just .google.com) to the HttpWebRequest class causes it to report an invalid cookie domain. Bug or feature? You decide.
v0.5.0 (7/5/04): Initial version released.
July 5, 2004
Update 10/24/2004: Released v0.6.1. Fixed some proxy issues, and updated API to recognize the "Drafts" folder.
What is it?
There are two distinct components here: an open source Gmail API written for the .NET framework, and a proof of concept Windows application built on top of that API that provides basic remote Gmail functions.
I developed these tools in the hopes of encouraging others to create interesting Gmail services. Admittedly, this project may not have a very long shelf life, as Sergey has intimated possible mail forwarding and RSS support, not to mention Gmail's recent listing of upcoming features (Gmail login required) that estimates a slew of features that are listed as “working on it” or “we'll try”. The address book import is currently listed as “sometime soon” but it's actually available now in the Contacts window. As Sergey mentioned, an enterprise version of Gmail would be well received, and I have no doubt that there would an API to go along with that (I recently integrated a Google Search Appliance, and can attest to its extensibility). Whether or not Google is interested in pursuing such features for the public side remains to be seen. Nonetheless, I hope to keep this project going, and wouldn't mind joining the Gmail team — there are lots of features I'd like to see implemented in Gmail.
This project has been mentioned in InfoWorld and The Sydney Morning Herald.
Who's using it?
Other projects that are related to the Gmail Agent API:
Project
Platform
Description
JGmail
Java
An open source port of this API.Author: Todd Lindner
Gmailer
PHP
An open source API for Gmail. Also included is Gmailer-lite, a bare HTML version of Gmail that doesn't require Javascript.Author: Ying Hung Gan
GmailerXP
.NET
A Windows application that extends the proof of concept app here by replicating the entire Gmail interface as a Windows application.Author: Abiel Jaquez
GNotify
.NET
A Windows system tray notifier that includes audible alerts in addition to balloon tips.Author: Michael Isabella
Gmail Notifier
Win32
The official Gmail system tray notifier.Author: Google
About the Gmail Agent Applet
I'm sure most of you are more interested in the applet, so here are the features:
Multiple account support
Balloon notification of new messages with message preview
Address book view and import (from tab-delimited text files)
The system requirements are:
Windows 98SE, or higher
Microsoft .NET Framework v1.1
I have implemented a couple recommendations to make this Mono compatible but the results are still spotty. Let me know if you've successfully debugged this under Mono. If you are interested in POP access to Gmail, check out GPopper (formerly known as Pop Goes the Gmail).
This is a proof of concept application, and there are plenty of idiosyncracies. It works great for me, but your results may vary. I welcome anyone who wants to contribute to polishing this app.
Download the installer »
About the Gmail Agent API
The goal of the API is to provide an extensible foundation for interfacing with Gmail. The objects in this namespace should be abstracted enough to be able to be adpated to any future changes Gmail makes.
Read the documentation for Gmail Agent API 0.6.1 to see what's available.
The main workhorse of this class is GmailAdapter. It is responsible for communicating with Gmail and maintaining the login and session information through the duration of the application. The GmailSession object holds all the state information for a single Gmail account, including a GmailThreadCollection of GmailThread objects. The GmailContact object represents a single Gmail address book entry. Again, GmailAdapter provides the methods to fill a GmailContact with information from Gmail.
Connection Overview
One oddity with the API is that it uses TLS instead of SSL for the encryption layer. For reasons unknown, the SSL provider was extremely intermittent and often failed to establish a secure link so I manually set the ServicePointManager to use TLS 1.0. This seems to be a common problem among .NET developers, and if anyone has a stable solution, I'd love to hear about it.
Here is a bare-bones example of how to establish a connection with Gmail using the API:
// init new adapterGmailAdapter gmail = new GmailAdapter();// create new session and assign username and passwordGmailSession myAccount = new GmailSession();myAccount.Username = "googler";myAccount.Password = "showmethemoney";// login and retrieve mailbox infoGmailAdapter.RequestResponseType loginResult = gmail.Refresh(myAccount);// display mailbox infoif(loginResult == GmailAdapter.RequestResponseType.Success) { // show new inbox count Console.WriteLine("New Threads: " + myAccount.DefaultSearchCounts["Inbox"]); // if new threads exist, show the subject of the first one if(myAccount.UnreadThreads.Count > 0) { GmailThread newThread = (GmailThread)myAccount.UnreadThreads[0]; Console.WriteLine("Latest thread subject: " + newThread.SubjectHtml); }}
Source and binaries
Download the Visual Studio.NET solution source code (v0.6.1).This includes the source for the API, applet, and the Windows Installer projects.
Download the Windows help file version of the API documentation.The online HTML version is also available.
Download the Windows Installer for GmailAgent v0.6.1.This includes the Johnvey.GmailAgent assembly and XML documentation.
» Discuss the API and its applications over at the Gmail Agent Google Group.
All material released on this page relating to Gmail is licensed under the GNU General Public License.
About the Gmail engine and protocol
You've probably noticed that Gmail's interface is extremely fast when compared to other web-based email systems like Yahoo! Mail and Hotmail. This is a result of Gmail's placement of the UI engine on the client-side as a JavaScript module. Whenever you log in to Gmail, a copy of the UI engine is loaded into one of the HTML page frames and remains there for the duration of your session (credit has to be given to Oddpost for being the first ones who perfected this idea). Subsequent actions from the Gmail interface are then routed through the Gmail UI engine in your browser, which in turn makes HTTP requests (via the XmlHttpRequest object) to the Gmail server, interprets the DataPack (more on this later), and updates the UI dynamically. In contrast, Hotmail and Yahoo! Mail follow traditional web application models and reload the entire UI after almost every action.
The item most relevant to this project is what I refer to as the “DataPack”, a base HTML file that contains only JavaScript array declarations that the UI engine parses and then uses to determine what to update. The advantages of this should be immediately obvious: reduced traffic load, and increased functionality — especially for developers who no longer have to resort to crude “screen scraping” techniques to interface with web applications. Although the ideal situation for external developers would be an XML-based DataPack, the JavaScript version is sufficient (and I suspect it was chosen for performance reasons as well).
The DataPack format consists of individual “DataItems”, or JavaScript arrays wrapped in a envelope function. An example:
D(["ts",0,50,106,0,"Inbox","fd36721220",154]);
The function D() references a runtime evaluator within the Gmail engine, which then interprets the attached array parameters. The "ts" element indicates that this is a threadlist summary item, and the subsequent elements denote start index, threads per page, estimated total, threadlist title, threadlist timestamp, and total threads. This is the same format that is applied to all array parameters sent through the DataPack:
[
The mappings to all the DataItems can be found in the engine code source (/gmail?view=page&name=js). For instance, qu contains quota information, while ct contains category (a.k.a. labels) definitions. Read through that file if you really want to get everything you can out of Gmail.
Determining the right URL to retrieve the DataPack is pretty straightforward, as most requests will return the same basic information, such as quota, category count, and inbox count. The main thing that changes is the threadlist summary, which depends on what page you're looking at. All the main folders — inbox, starred, trash, spam, etc. — are all really just pre-defined searches within Gmail. For example, the inbox DataPack URL is:
/gmail?search=inbox&view=tl&start=0&init=1&zx=
The search query for all unread threads is:
/gmail?search=query&q=is%3Aunread&view=tl&start=0&init=1&zx=
The main parameters are search= and q=, which define what set of threads the user is requesting. The zx= parameter is a proxy cache defeater, and I've omitted it here for brevity. See GmailAdapter.MakeUniqueUrl() for more information.
Gmail exploits another advantage of the DataPack model to increase efficiency by allowing for an empty document. This is employed by the 2-minute auto-refresh request. The inbox URL adds a few more parameters:
/gmail?view=tl&search=inbox&start=0&tlt=fd8dfa2e31&fp=c155594240dcc7cb&auto=1&zx=
The tlt= parameter is the thread list timestamp, which is treated like a checksum in determining the state of the client versus the mailbox state on the server. If the client timestamp is older than the one on the server, then a full DataPack is sent. Otherwise, Gmail sends an essentially empty DataPack.
Revision History
v0.6.0 (9/6/04): Version 0.6 Released. This version adds proxy support, compiles under Mono (I think), and changes the default click behavior for the icon to open the Gmail site.
v0.5.1 (8/15/04): I've updated the API to work with the new login procedure. Download version 0.5.1 below. The changes were minor (Gmail moved the GV variable from a client-side Javascript call to a HTTP response header call), but a quirk with the .NET cookie handler was mucking things up. Apparently, sending a subdomained cookie (e.g. gmail.google.com instead of just .google.com) to the HttpWebRequest class causes it to report an invalid cookie domain. Bug or feature? You decide.
v0.5.0 (7/5/04): Initial version released.
Wednesday, February 09, 2005
Monday, February 07, 2005
Marathon Results 2004
368/530 people
4:35:22
37/55 for guys over 50
That translates into a 6:32 pace.
The total time is 20 minutes faster than last 2003.
4:35:22
37/55 for guys over 50
That translates into a 6:32 pace.
The total time is 20 minutes faster than last 2003.
Subscribe to:
Posts (Atom)