=======================================
CHANGELOG: enCore 4.0.1 to 5.0 beta 001
=======================================
This document is here: http://lingo.uib.no/v5/changelog.html
Created: May 12 2006 by DJ
Updated: May 13 2006 by DJ (- Inventory Manager: create
- Multiple Objects, EduCenter
- some typos)
Updated: May 14 2006 by DJ (- added links to explaining documents)
Updated: May 15 2006 by DJ (- added favicons)
Changelog:
- Made telnet optional in order to meet firewall restrictions
- rewrote all instances and implications of connected_players()
- When a player has no telnet/no java, he/she is still
registered as online participant until logout (or cleanup)
- may receive and send chat, mail and SMS (page)
- "last web page served time" kicks in for idle_time()
- player displays in the Who browser
- player displays in room frame
- player displays as online in Administration module
- chat and other frames are updated on given queues
(input, move)
- a maximum refresh rate may be set through a near drop down select
- Several security fixes:
- redesigned general form data retrieval,
namely in the Object and Program Editor
- redesigned @url command
- redesigned quit routine
- redesigned frame update through Java
- Introduced preferred languages (SEE language.html)
and alternate language for the interface
- made string retrieval and altering language much easier
- made languages "packages" which can be added and removed
- reduced the use of the word MOO to a minimum
- Moved to unicode (use is optional, but recommended)
- supports arabic, hebrew and other non-latin scripts,
even in Chat
- moved lambdamoo to version 1.8.1u
(made independently of this release by Matthieu Fenniak, THANKS!)
- Completely rewrote Chat
- moved from Java based to HTML based
- introduced "new chat style" with no more need to type "say"
and prefixing other commands with / except @-commands
- "new style" is switched on|off individually in Preferences
- introduced colors and images in Chat (smileys, formatting)
- appearance largely customizable by user through full CSS access
- Chat now logs input and output cross-session (until deleted)
- replaces the Xpress log
- may be set to be auto-deleted on logout
- alert at login when logs exceed a given number of lines
- Chat input field has now shortcuts:
- go home
- look (view room in web frame)
- Away from / Back to keyboard message
- switch to right-to-left script
- get previous command in personal history
- get next command in personal history
- set maximum Chat refresh drop down select
(for non-telnet-participants)
- New Java applet (co-written with Kevin Tysdal, thanks)
- shows colors on connect and disconnect
- writes verbose debugging output to the Java console
- fixes a severe security hole
- addresses all available frames, including menu frame
for on-the-fly update after layout and language change
- the new applet ONLY works with v5, while v5 KIND OF works
with the old applet (this is discouraged though due to
several reasons)
- Introduced a new room frame (SEE communication.html)
- shows all currently connected players in the current room
- reacts on players moving in and out of rooms
- may show player icons (on by default, settable in Preferences)
- removed player (icons) from normal room view in web frame
(off by default, settable in Preferences)
- frame position can be changed in Preferences
- shows link to view the current location in web frame
- set maximum room view refresh drop down select
(for non-telnet-participants)
- Changed Login screen
- made it frameless
- shows number of connected players
- made alerts inline HTML (not popup)
- removed popup mainframe (no more popupblocker problems)
- offer complete resizability of ALL frames and windows
- offer maximized login screen
- removed the XHMTL compliance sticker
- Tried to reduce Javascript, i.e., rewrote Javascript with
"Gracefull Degradation" in mind several places, e.g.,
applet tag building
- Changed login and logout
- fixed a few security issues
- fixed "logout on reload" problems
- fixed "logout on loose window" problems
- moved scripts from player to Xpress_client
- changed the fake "components are being downloaded"
to a link targetting $player_start
if the player is stuck in limbo
- wrote a meta refresh to attempt to move him/her there
- Changed enCore web server
- changed authentication, including cookie setting and check
- changed get
- including a root 300 redirect for URL objects
- made new favicons, one for each theme
automatically retrieved according to the individual user's theme
and inserted as a shortcut icon (depends on browser)
- Changed menu bar from icons to text links
- explanation in floating alt-boxes
- language sensitive
- made the quit function a form
- fixed a security hole by doing so
- Rewrote contextual menu-icons
- removed them from Inventory Manager (except pencil)
- Removed padlocks (see Access and Locking)
- Rewrote back-button
- now works for rooms as well
- builds a personal compressed list over last viewed
web objects and pops the last object (return/delete)
instead of using Javascript:history (which didn't work with frames)
- Introduced a bookmark setting shortcut (see Bookmarks)
- rewrote drop icon to call Inventory Manager's Move Section
(choose target if more than one target is possible)
- Made quota free by default (SEE quota.html)
- can be set to free|restricted individually and by player classes
- can be set via web (text/mouse)
- improved quota count
- wrote an auto-increase if user's quota is free
and user is getting close to its maximum
- includes a mailbox notification on auto-increase
- Rewrote access, locking and sharing
- removed padlock icons (red/green) since they were
misleading (due to much finer access and locking methods)
- introduced "key_override" for specifying readers
on an elsewise locked object
- locking works now cascading by location
(a note in a locked binder is locked by location)
- locking and sharing information may be set
explicitely for cascading contents if an object
(apply this setting to all of its contents)
- Gave the user more freedom
- made real_name changeable by the user (optional, but default)
- made email_address changeable by the user (optional, but default)
- made timestamps customizable (set personal timezone)
- moved a lot of information from the system to the user
- CSS
- Java applet codebase path etc.
- Redesigned and restructured all existing web applications
- all web applications are now frameless
- Introduced "tabbed" subsections
- Administration Module
- accessible to Teachers (some functions)
- TABs for
- player creation (wiz and teacher)
- automatic player name retrieval
- optionally bind a batch in a group
- optionally create a common room owned by the group
- optionally create a home for each player
- optionally send a password
- password mail text is customizable then and there
- nice result table (HTML)
- verbose result for additional features
- players view (wiz and teacher)
- may be restricted to groups
- may be restricted to classes (e.g., all programmers)
- sortable by name, real name, email address, last disconnect time
- searchable
- searches names, real names, email addresses
- highlight search word in result
- bookmarks
- completely rewrote display and setting of bookmarks
- bookmarks clickable
- choose from drop down
- remove by uncheck
- display result alerts as inline HTML
- settings
- completely rewrote settings section
- accesses the following objects through their
xpress_edit_options via the Object Editor:
- $network
- made network debugging easier
- made system email addresses explicit and less error-prone
- $xpress_login
- $sys_obj
- $root
- $player and subclasses
- $encore_web_object and subclasses
- $encore_web_application and subclasses
- generics (wiz only)
- moved generics list to the player in order to define
seperate lists for builders, teachers, programmers and wizards
- removed classification rooms/basics/educational
- generics are shown with full name
- generics may be chosen from a drop down select
- generics may be removed by unchecking a checkbox
- teachers' and wizards' generics sets are clearable
(clear to builders' and programmers' set)
- Message of the Day (wiz only)
- changed to be a textarea (not a text field)
- may take HTML since it now is displayed in the chat,
not in an alert box
- Tasks
- shows a table of running (waiting) tasks
- tasks may be killed individually or batched
by checking a checkbox/submitting the form
- will be extended (for full release) to include mail queue view
- may be extended (in future versions) to show available enCore upgrades
- may contain an "install/upgrade now" button
- Object Editor
- removed from menu line, replaced by (merged with) existing Preferences
- rewrote calling from edit-pencils
- reduced to one function: Editing of existing objects
- moved all other functions (myObjects, creating)
to the Inventory Manager
- removed all human language and moved it to a language object
- Changed options from dropdown select to clickable list in TAB style
- Retrieve options from a property, not inherited and appended
in order to change order and length anywhere in the inheritance path
- shortened long options lists with a "more|less choices" link
- Changed return screen
- Changed alerts to be inline HTML
- Made success appear green, failure red, info black.
- now supports "friendly property change alert"
- Introduced clearing/setting/forcing of properties
- Prepared for centralized help function
(by inserting lightbulbs for each fieldset)
- expandable inline help text (more|less)
- Layout and language changes take effect immediately
- Who Browser
- table is sortable by name, connected time, idle time, xpress time, location
- wizards have a checkbox next to each name for booting players
- table shows players without telnet connection
- shows link to go home
- shows link to set away-message
- Search Engine
- removed from menu bar
- functions completely rewritten and moved to
Inventory Manager and Administration module
- Inventory Manager
- TABs for
- quota (SEE quota.html)
- shows 100% accurate quota percentage
- teachers and wizards may change to a specific player's view
and change his/her quota by mouseclick
- owned objects (inventory)
- wizards may change to a specific player's view
- number of objects per page (table) can be set individually
- table is sortable
(number, class, name, location, hits, size, creation date, last change)
- rewrote "quick access links"
- show floating boxes according to sorting specification
- removed contextual menu except for the pencil
- made moving batchable
- made recycling batchable
- shared objects (non-owned but writable)
- wizards may change to a specific player's view
- works like inventory except for moving/recycling
which is only available to wizards
- all objects (wizards only)
- works like inventory
- search
- search for names, inside texts, inside slides, inside botwords,
- search for words (and|exact) and expressions (regexp)
- highlights search words in the targets when clicked from there
- create
- rewrote and moved creation routine from Object Editor to here
- flat list of generics (no more "educational")
- table of generics with short explanations
- introduced multiple objects creation (see that)
- generics apply to classes, e.g.,
wizards have more (other) generics than builders
- explanation after creation with success/failure
for each object (if multiple objects)
- result table with clickable object and pencil
- explanation of location, offer moving right away
(button, which calls "move", see below)
- upload (SEE upload.html)
- written a sofisticated system for connecting external files to
in-moo objects, including a MOO/upload-database connection/
authentication script (co-written with Trond Karl Pettersen, thanks!)
- includes a seperate PHP/mysql feature for file upload
(by Trond Karl Pettersen, thanks!)
- wizards may check number/size of players' uploaded files
- move
- called from the double red arrows down (drop)
- called from inventory (batched or sigle move)
- lets the player decide where to drop/move/put
one or more objects if the user's pockets and/or
the user's location contain sorts of containers
(boxes, recorders, binders)
- possible targets are shown hierarchically
- objects are each checked carefully if they are movable
to the given target
- verbose inline HTML output for each object after success/failure.
- offers target view after result.
- defaults to all owned objects,
but is called with one object (from arrows)
or a range of objects (from inventory)
- trashbin (SEE quota.html)
- "recycling" now means temporary move to a personal recycle bin
- recycled objects decrease the builder's used quota by their size
- recycled objects loose ownership, and cannot be read by
anyone but wizards
- recycled objects can be completely deleted or restored,
provided quota is sufficient (but quota is free by default)
- recycled objects can be completely deleted, or restored
- deleting and restoring can be batched (checkboxes)
- certain objects are not recyclable
(system object, root object, generics, parents)
- fixes a security hole
- verbose warning with impact information
- player may choose to recycle/delete
all or some contents of a "container"
- verbose result with cascading recycle information
- MOO Mailer (SEE forums.html)
- removed and replaced by a fullfledged threaded discussion forum
- almost completely rewrote inner workings of $mail_agent and $mail_recipient
- edit, move, copy, delete, freeze threads
- easy setting of readers/writers
- thread/flat view
- highlighted search
- single page nested thread view with summary
- adds and removes recipients and CCs with drop down select
- drop down select recipients are individuals, groups and forums
- verbose result output after mail sending
- including report for each recipient
- includes offer to print out the sent mail
- extended notification settings
- Xpress Navigator
- removed Xpress Log (replaced by auto-log for Chat)
- (Xpress Log still works with text commands)
- TABs for
- map (optional)
- clickable/roll-over maps may appear here
- directory
- on-the-fly generation of obvious exits (cascading)
from a user's current location
- exits (target rooms) are clickable if room is not locked
- bookmarks (SEE bookmarks.html)
- shows personal bookmarks
- shows group bookmarks for each group the user is a member of
- shows global bookmarks
- personal bookmarks are now set by an icon
in the contextual menu below the title of a web object
- all bookmarks are tagged with personal last viewed timestamp
- each bookmark section shows a link for editing
if the user has writing permissions
- each group bookmark section shows a link
to view the group which the bookmarks apply to
- HTML Chat Log
- takes over for Xpress Log
- all output since last deletion is stored and retrievable here
- carries verboseness classes, colors and images like in live chat
- fixed the problem with long logs running out of ticks
when attempting to delete them (Xpress log)
- rewrote print/email/delete commands
- alerts are now inline HTML instaed of popup alert box
- Commands
- all text input since last deletion is stored and retrievable here
- included print/email/delete commands
- Notebook (Scrapbook)
- rewrote save/print/email/delete commands
- MOO Info
- rewrote all code
- Broke the one page into sections (TABs) for
- Statistics
- rewrote syntax in value retrieval
- Licence
- Requirements
- Contributors
- added a section for Questions
- applies only when a .question_to-property
is set to a valid email address
- Contextual Help (SEE help.html)
- replaces enCore Help Browser
- added as application object
to prepare for the centralized Help Function
- wrote calling and syntax from lightbulb
and redirect to database
- Program Editor
- Complete remake from scratch
(too many changes to enumerate here)
- Changed Object and Player Appearance setting (SEE appearance.html)
- Values are now handled by theme stylesheets
and customized "raw" CSS rather than single properties
- used percentage instead of pixels
- removed alignment for object description,
object multi-media-content and note texts
and moved values to raw CSS.
- Extended themes
- apply to tables (alternating rows, "zebra" look)
- apply to form fields
- made a theme palette for each theme
- made two new themes: jungle and merlot
- Many CSS, accessibility and web standard improvements
- Changed automatic markup rouine
- won't mess up precoded images and links any more
- included replacements for smileys
(optional, uses a combination of user and object settings
in order to kick in)
- works in chat, note text, forum messages
- Keep a log of last changes on all objects
- who, what, when. (200 changes shown by default)
- changes only written to changelog when set through Object Editor
- changes are shown in the Inventory Manager
- New player class: Generic teacher
- child of $player
- may create other players
- may increase other players' quota
- may change other players' passwords
- may change other players' real names
- may view statistics
- number and size of owned objects
- number and size of uploaded files
- last disconnect time
- New generic: Multiple Object Template
- creates a Main object and associated objects with one mouseclick
- deleting the Main object will show a list of associated
objects with possibility to delete or keep them (individually)
- New Generic: EduCenter
- creates a main room, slide projector, recorder, box, intercom device
and a user-given number of connected rooms (satellites)
with a recorder and an intercom device in each
- can be connected to an existing, accessible room
- New generic: web controlled intercom device (SEE communication.html)
- no limits as to number of connetions
- may listen or broadcast or both
- switched on and off by mouseclick
- New generic: group (SEE groups.html)
- cascades (groups in groups)
- may be created by everybody
- may be used in shared owners
- may be used in paging (SMS)
- may be used in mailing (internal and email)
- may be used in forum access
- may be used in buddies
(colored chat, logon notification, email disclosure)
- New generic: HTML document
- child of $note
- meaning: not a room like $web_page
- by consequence: no exits, no contained objects,
no users moving into a web page
- does not add anything to the note text
- no title, no icons
- no line breaks, no link markup
- inherits CSS, Doctype and Javascript
- those are settable in the Object Editor
- fully searchable by the search engine in the Inventory Manager
- New generic: URL object
- child of $thing, may be moved, put into binders, rooms etc.
- serves as reference to external resources
- parent to $uploaded_file (see upload in Inventory Manager)
- New generic: binder
- child of $thing, may be moved, put into binders, rooms etc.
- displays a table of the contents with number, name, description,
personal last viewed information (for each player), length and owner
- may be private or public
- New generic: HTML slide projector
- merges the old text slides and web slides
- increased number of slides from 10 to 30
- slide show controlled through web:
personal "peek" and "show to all"
- each slide may carry a background sound
- each slide is easily locked and revealed by the owner
(co-owners/wizards) in order to hide, e.g., answers to quizzes
- New generic: $forum
- child of $mail_recipient (this may change in future releases)
- added side-branch properties like icon etc.
- takes individuals and groups (or both) as writers and/or readers
(defaults to open-to-all)
- forum affiliation (what category it belongs to)
may be set in the Object Editor by drop down select
- New generic: $forum_category
- child of $thing, movable
- holds a number of forums together
- New generic: $log
- child of $note
- for use in recorders
- log start and stop are stored in seperate properties
in order to sort logs
- text body is tagged especially for log purposes
- highlighting of individuals in the log
- hiding/revealing timestamps for each utterance
- HTML slides are formatted in a special way
- computing statistics
- how many participants contributed
- how many lines each participant has contributed with
- New generic: Intercom device (SEE communication.html)
- replaces $intercom (is NOT recording though!)
- can be combined unlimitedly with other devices
- web controlled setting to listen, broadcast, or both
- if an intercom device is on, it shows in the room/player frame
- if an intercom device is on, it changes color when viewed in web frame
- New object: colors
- takes care of theme colors, associated hex values and HTML color values
- Made paging ("SMS") web controlled
- including an optional "ping" notification when paged
- Introduced "I'm Away/I'm back" as "doing"-message
- made that explicit in the player frame and the Who browser
- quickly settable below command input box
- Introduced "my buddies"
- buddies can consist of individuals and groups or both
- optional alert when a buddy connects
- optional coloring of chat when a buddy says something
- optional revealing of personal information to buddies
- can be used as shared owners
- can be used for paging
- can be used for mailing
- Rewrote recorder
- fixed a bug where recorders wouldn't tape when their log's
note text value had the wrong data type
- start and stop web controlled (through mouseclick)
- preview of ongoing log by mouseclick
- if a recorder is on, it shows in the room/player frame
- if a recorder is on, it is blinking in web frame
- Changed room
- introduced a "blackboard" property
- shows if there is writing, vanishes if empty
- Optional reversed order display (put newest first).
Easily set in Object Editor
- Contents and Exit Order easily set in Object Editor
- Web sweep function (get rid of all that is not mine in this room)
- Changed note
- keep two generations of note text contents backup (panic)
- backups are only kept when text is saved in the Object Editor
- The player's pocket's contents is now displayed in the web frame
(player:_html) if perms are OK
- Many new utility verbs in string_utils, list_utils, object_utils
- About completely rewrote all verbs in encore_web_utils
- BEWARE: changed some verb names to other names!
... like :h(text, level) to :h1(text),:h2(text) etc.
- BEWARE: changed some verb names
... like ":img*age" to ":img image"
- BEWARE: split some verb names!
... like ":link a" into ":link" (used in HTML HEAD)
and ":a*nchor" (hyper-reference link)
- BEWARE: changed some argument structures
... like :textarea(?text, ?name, ?rows, ?cols, ?custom, ?id, ?class)
- added some arguments in some verbs,
... like :a(?url, ?text, ?target, ?action, ?image, ?title, ?class, ?custom)
- added "generic" verbs
... like "nbsp frac14 plusmn lt gt" etc.
and made them synonymes with "builtin" verb value reference
- fixed a problem when writing HTML code in text areas by doing so
- added verbs
... like "dd"
- enhanced verbs
... like "br" to take an optinal INT argument for repeating itself
- Improved verb calling and structure in page building