[Lamp-user] LAMPsig SCALE4X SVG Nov 23rd Meeting Minutes
Peter Benjamin
pete at peterbenjamin.com
Tue Nov 29 17:34:53 EST 2005
Hello Fellow Volunteers,
Hope you all had a happy, fat, satisfying Thanksgiving.
Work away some of that turkey you ate by studying up
on our state of the art project.
I've cc'ed our SCALE liason, Jeff, who might want to read
items 10, 12, 13 and 14 first.
Our regular meeting will be Wednesday night during the
LAMPsig Club night that Jim is heading up. It will be at
CALTek.net's office, our regular monthly meeting room.
It will start at 6 pm, and go until 8:45 pm, with room
lock up at 9 pm, unless someone else has keys to lock the
room.
MINUTES
Here are my notes for our Wednesday, November 23 meeting at
Panera Bread in Santa Monica. In attendance were: Jim, Pete,
David, Solomon and Ralf. Those not there did not get a free
pie, cake, brownie or pastry from Panera as we left. These
were not "small" but came in a 12 inch square box! Terrific!
I've put the "work" first, followed by items in decreasing importance, or so.
WORK:
1) Solomon will do the db schema and load the SCALE3X data.
2) Pete will redo a 2x3 with text prototype.
I've already found simpler stuff at carto.net,
that excludes the extras that Ted told Inkscape puts in.
I'll post it this weekend to you.
3) Ralf will set Track on top of Subversion on an UML Gentoo
that Pete needs to prep. I need to free an IP number by
moving my current DNS ns2 server to another IP number.
Shortly after that is proven to be working, I can make
the UML available, perhaps by the end of this coming week.
OTHER ITEMS (read some things you can do in the meantime)
4) Sites for getting yourself familiar with the technology are:
carto.net adobe.com/svg www.openclipart.org/
in particular
http://www.carto.net/papers/svg/manipulating_svg_with_dom_ecmascript/
has several examples very close to what we what to do.
5) Do open the SVG as a text file, and view the XML. You will
find that the Carto SVG examples above are easily edited by hand,
unlike the Inkscape, so I am changing away from Inkscape for now.
6) Also, I found that SVG supports an internal DOM with ECMAScript.
The DOM is based on generic XML structure of elements and attributes.
The element is pointed to as an object passed as an argument to the
script and is set up by default. You do no coding, cool. And the
attributes are called out in the script function argument list as
a text string, so it is highly customizable, and easily coded by hand.
Double cool.
***Much SVG DOM Script will be much easier to learn than Javascript, imo.***
So, do try your hand at "editing" a Carto example.
7) You will need a SVG plugin. There are a few. And like VRML, there is
a plugin for switching between SVG plugins, on the fly. More on the
URL that supplies links to the download later. I've yet to find it.
The purpose is to find a plug in with a "Zoom" feature we like.
We need to learn how to control the Adobe Zoom. Maybe right clicking
sets the zoom center? We need to add "instructions" to our web page.
David explained in detail his concept of the Zoom feature.
We agreed to work towards that concept. The zoom is too hard to describe
in wording, at least with my limited time I have available to write these
minutes.
It's not clear to me that JavaScript outside the SVG will work for us,
or even the ECMAScript inside the SVG for "zoom." We might have to
work with plugins. Thus, trying out each plugin might be needed.
Perhaps someone can find an example of SVG zoom built into the SVG file?
8) GUI editor for SVG. I'm not sure we will need one for our prototype.
Or even for our final product. However, it might be faster to learn
SVG feature set by using a GUI and then viewing the XML, reverse
engineering the SVG XML elements to copy and paste out the features
we want. More on this on items below. Thus, Illustrator 9 likely
will not be needed.
9) Loading the SVG with the schedule info is up in the air, but David's
idea of using AJAX to a web server database is the agreed direction.
I did mention hard coding it into the SVG file. Dynamically adding
it and allowing updates would be better.
David has mentioned the existing XAJAX library, we should all look at,
and perhaps find a working example we can adopt and modify.
10) The SCALE planning members I have observed before do not set "room"
assignments until the week before the event. So, we have various
levels of "info" that the database might have or get in at one time.
Thus, the database schema is subject to growing, and our PHP code
that grabs out row data, I think ought to just return "everything"
thus, the PHP code never has to change, and edits are only needed
in the template SVG file in the form of more text strings, and perhaps
ECMAScript to support it, or zoom features for it.
11) Likely we will need to know about how the plugin "zoom" center and
scaling factor are available to the internal SVG ECMAScript via the
DOM, if it is at all. It would be nice to be able to have some
dynamic control over text font size when zooming. Otherwise, we
will have to make our best guess, and suffer some quirks in zooming.
The zooming font size issue has many aspects. As I have dealt with it
for over 12 years in the aerospace CAD/CAM/CAE/CIM world I might be
over designing it. Thus, there is no detailed description in these
minutes, as my time is limited. However, here is the nut that must be
cracked:
a) At unzoom setting, the speaker name and talk title must be visible
and easily read. Perhaps the other information might be represented
by a line, or lines, or as zooming occurs as rectangles, until the
text would become readable, at which time it does.
b) The talk description can be quite long, and it's zoom representation
might have several stages of visibility, from lines, rectangles to
just the first line in characters, while the rest is lines/rectangles,
until the "window" is large enough to display more lines at a readable
font size. Perhaps SVG plugins already do this? That is a reasonable
assumption, and we need to know the "rules" for each plugin.
c) Preventing the speaker name and talk title from becoming unreasonably
big might be something we do in ECMAScript using the DOM to control the
font size, but we still need to know the zoom scale factor, and window
size. Otherwise, these two strings might "push down" the description
below the clipping window, and we would need a scroll bar.
d) Scroll bar issue will be pending more input based on plugin zoom behavior
and just what our prototypes show us is doable or not.
12) Data entry - Jim found one example at adobe.com/svg/demos/chart.html
The SVG ECMAScript code was straight forward. We would only need to
add the ability to send the addition to the web server database, likely
by merely invoking an URL with form GET data appended to the URL.
We do need to further define the data entry aspect. I do think we
need to delay this design, until after we have SCALE contact, and
we have heard how they have done it in the past. I would not want
to step on any toes, that is any SCALE volunteer doing similar work
might be getting course credit for it. I will find out as I am our
SCALE liason. Jeff Carlson is my contact, who is also the SCALE
User Group Coordinator, who I am talking to about our booth space.
13) Adding database fields, like room number, link to presenter's bio,
links to the video or audio files, or links to other pages, will have
to wait until we have found out from our SCALE counter parts what they
plan to do, and what we might support for them.
14) David found that some SCALE 4X speaker bio and talk titles and descriptions
are currently online. The database schema I did needs to have a
bio and description field added. They will likely be a text blob, as one
description was quite long (more than 255). There is also a speaker picture
we might need to include.
http://socallinuxexpo.org/speakers.php
http://socallinuxexpo.org/speakers/speakers_mandelstam.php
15) David pointed out the PHP core "DOM" is the library functions we
want, not the older "DOM-XML". DOM replaces DOMXML.
16) Hotel Info - Here is the URL and the room numbers show on the map.
This URL leads to the first page of three, and lists all the rooms and
their features (I have a tabbed file of this now - easy copy and paste).
There are three pages, and the only differences are the maps, so I have
put those URLs below this one.
http://www.starwoodhotels.com/westin/search/floor_capacity.html?city=&stateProvince=&country=&postalCode=&hotelLocationType=&pOI=&arrivalDate=&departureDate=&lengthOfStay=&numberOfRooms=&numberOfAdults=&amenityType1=&amenityType2=&amenityType3=&nState1=&nState2=&nCity1=&nCity2=&requestedChainCode=&requestedAffiliationCode=&propertyID=1005&returnURL=&promotionCode=&corporateAccountNumber=&rcdi=&iATANumber=&groupBlockID=&ratePlanName=&starwoodPreferredGuest=&fromSearch=&floorVal=&H=250&W=491
MAPS with Room Names and divider letters.
LOBBY LEVEL:
http://www.starwoodhotels.com/Media/Graphics/Brands/Westin/Properties/1005/images/WI_1005_flr_1.gif
SECOND FLOOR:
http://www.starwoodhotels.com/Media/Graphics/Brands/Westin/Properties/1005/images/WI_1005_flr_2.gif
THIRD FLOOR:
http://www.starwoodhotels.com/Media/Graphics/Brands/Westin/Properties/1005/images/WI_1005_flr_3.gif
ROOM NAMES:
Concourse Ballroom
Concourse Ballroom A or B
Concourse Ballroom Foyer
Dulles
Grand Ballroom
Grand Ballroom A
Grand Ballroom A & B
Grand Ballroom B & C
Grand Ballroom B or C
Grand Ballroom C & D
Grand Ballroom D
Grand Ballroom Foyer
Heathrow
Kennedy
La Guardia
Lindebergh Ballroom
Lindebergh Ballroom A or B
Logan
Midway
National
O'Hare
Orly
Sea-Tac
Stapleton
Templehoff
The Theater
302
306
308
310
315/Dorval
320/Hartsfield
321 Gatwick
328/Kai-Tak
329/Hopkins
336/McCarran
337/Lambert
340
344/DaVinci
380
381
384
385
I hope you will join me in learning this new, exciting SVG
technology.
Sincerely,
Pete
Pete
More information about the Lamp-user
mailing list