va smalltalk update-stic2013.ppt - instantiations · • runtime tools • tools • tools ->...
TRANSCRIPT
6/10/2013
1
Copyright © 2013 Instantiations, Inc.
VA Smalltalk Update
John O’Keefe
Chief Technical Officer
Instantiations, Inc.
Copyright © 2013 Instantiations, Inc.
Agenda
• Company Update
• Current Release Content
• Next Release Content
• Futures
• Q&A
6/10/2013
2
Copyright © 2013 Instantiations, Inc.
Company Update
Copyright © 2013 Instantiations, Inc.
Company Events
• In 2010 new Instantiations company incorporated to focus exclusively on Smalltalk
• Almost 3 years as pure Smalltalk company
• # of users and revenues continue to grow year-to-year
• Engineering staff has grown
• Increased permanent staff
• Using contractors for additional capacity
6/10/2013
3
Copyright © 2013 Instantiations, Inc.
Non-Development Activity
• University Outreach
• University of Chile• Roassal Visualization Framework
• User Outreach
• Conference participation• ESUG, Smalltalk Solutions, Smalltalks
• VA Smalltalk Google Group• Aggregated on [Smalltalk] http://forum.world.st
• Old forum content (prior to May, 2011) still available (readonly)
• “Videos and Podcasts” pages on website• http://www.instantiations.com/resources/st4u_videos.html
• http://www.instantiations.com/resources/videos.html
Copyright © 2013 Instantiations, Inc.
Current Release
V8.5.2 available September 2012
6/10/2013
4
Copyright © 2013 Instantiations, Inc.
Development Tools – V8.5.2
• Monticello Importer• Replacement for VAPackageExporter• Imports from .mcz files• Maps Monticello structure
• Package -> Application• Name taken from package name in .mcz• Holds extension methods
• Categories -> SubApplication(s)• Name(s) based on categories• #loaded/#removing class methods generated• Holds defined classes
• Pool classes -> Pool Dictionaries• Class renamed and _PRAGMA_ method created
• Includes zip/unzip support (beta)
Copyright © 2013 Instantiations, Inc.
Development Tools – V8.5.2continued
• VA Assist
• Code Completion added to Inspectors
• Browser performance improved when accessing repository with high network latency
• Packager• Packaging instructions for Seaside ICs
• Core
• Javascript/jQuery/Scriptaculous
• Runtime Tools
• Tools• Tools -> Query -> Globals in Unmanaged Namespace to quickly identify unmanaged globals
6/10/2013
5
Copyright © 2013 Instantiations, Inc.
Infrastructure – V8.5.2
• TimeZone support
• Supported by DateAndTime class• Used in conversion between time zones
• Used in arithmetic operations that span DST transitions
• TimeZone data is Olson timezone database• Included in Linux, AIX and Solaris
• We ship for Windows
• No changes necessary to existing code• Methods that specify explicit offset are deprecated
• Platform Interface• Added System>>getProcessId to retrieve the processId of the Smalltalk process
Copyright © 2013 Instantiations, Inc.
Graphics and Windowing – V8.5.2Rebar Control
• Supported in Composition Editor
6/10/2013
6
Copyright © 2013 Instantiations, Inc.
Database – V8.5.2
• GLORP• Upgrade to 0.4.190
Copyright © 2013 Instantiations, Inc.
Miscellaneous – V8.5.2
• Web services• Added SstWSContainer
class>>resetWebServicesDevelopmentEnvironment to cleanup
when debugging
• Platforms
• Windows 8
• Ubuntu 12
6/10/2013
7
Copyright © 2013 Instantiations, Inc.
Documentation - V8.5.2
• On-line documentation and FAQs enabled for Google search
• New “st4u: Smalltalk for You” page on website• Short (1 – 3 minutes) videos showing specific VA Smalltalk features
• http://www.instantiations.com/resources/st4u_videos.html
Copyright © 2013 Instantiations, Inc.
Support
• 55+ bug fixes & minor enhancements in V8.5.2
6/10/2013
8
Copyright © 2013 Instantiations, Inc.
Next Release
V8.6 available 3Q/2013
Copyright © 2013 Instantiations, Inc.
V8.6 Planned Content
• GUI Look and Feel
• A Scintillating Text Editor
• Windows Common Controls improvements
6/10/2013
9
Copyright © 2013 Instantiations, Inc.
A Scintillating Text Editor
• Complete redesign of our default text editor component
• Built on the modern, popular and well supported Scintilla editing component
• Compatibility layer provides seamless integration allowing our new editor component to be interchanged with our existing editor component
• API-compatible with CwText
• Exposed the full Scintilla API so users can use the new text editor in their own applications
• Used by Browsers, Inspectors, Workspace, etc.
• Multiple undo/redo support
• Support for hardware-accelerated rendering with Microsoft’s DirectWrite technology
Copyright © 2013 Instantiations, Inc.
A Scintillating Text Editorcontinued
• Come to the “Scintillating! A Modernized Text Editor for VA Smalltalk” session @ 2:30 this afternoon for details
6/10/2013
10
Copyright © 2013 Instantiations, Inc.
Windows Common ControlsDateTimePicker
• New attributes
• today shown
• weeks numbered
• multiple selection (a range of dates up to a maximum size as set by the user)
• first day of the week settable
• some days show as bold (May 27 in this case)
Copyright © 2013 Instantiations, Inc.
V8.6 Planned Contentcontinued
• Development Tools
• Scintillating Browsers, Inspectors and Workspaces
• Breakpoint improvements
• Manager Library improvements
• ImageShortName preference setting
• Monticello Importer improvements
• XD Features for GLORP and Seaside
6/10/2013
11
Copyright © 2013 Instantiations, Inc.
Scintillating Browsers, Inspectors and Workspaces
• Optional, enabled by default
• Customized color syntax highlighter• Additional styling options and features
• Now available in our workspaces and inspectors, too!
• Autocompletion support using VA Assist’s code completion engine with new popup widget
• Code Assisting features such as• []() match highlighting
• Calltips
• New text manipulation keyboard shortcuts
• and much more …
• New stylizable and configurable margins for displaying line numbers, breakpoints and code fold indicators
Copyright © 2013 Instantiations, Inc.
Scintilla Debugger Example
6/10/2013
12
Copyright © 2013 Instantiations, Inc.
Scintillating Browsers, Inspectors and Workspaces
continued
• Come to the “Scintillating! A Modernized Text Editor for VA Smalltalk” session @ 2:30 this afternoon for details
Copyright © 2013 Instantiations, Inc.
Breakpoint Improvement
• One-shot breakpoint
• Removes itself after firing once
• Breakpoint icon is visually distinguishable
6/10/2013
13
Copyright © 2013 Instantiations, Inc.
Manager Library
• EMSRV for Windows
• Warning when running on multiprocessor hardware removed
• EMSRV for UNIX
• Linux filesystem limitations removed• Additional filesystems supported
• 16GB manager library supported
Copyright © 2013 Instantiations, Inc.
Monticello Importer Improvements
• Version name of imported code defaults to Monticello version (for example, NickAger.257)
• Monticello version info copied to Application Notes to aid cross-referencing
Name: Seaside-Tests-Core-NickAger.257Author: NickAgerTime: 21 March 2012, 5:49:03 am
tidied WATestingMetadataFileLibrary
6/10/2013
14
Copyright © 2013 Instantiations, Inc.
ImageShortName Preference
• Preference used to identify windows associated with development image
• Example:[EtBaseTools]
ImageShortName=SS
Copyright © 2013 Instantiations, Inc.
XD Features
• Cross-development (XD) environment is used
• To build headless runtimes
• To build runtimes for deployment on different platform different (ex: Windows -> Linux)
• Loading code into a cross-development (XD) image is based on XD feature classes and maps
• Added XD feature for GLORP
• Added XD feature for Seaside
6/10/2013
15
Copyright © 2013 Instantiations, Inc.
V8.6 Planned Contentcontinued
• Other Tools (on the cusp)
• Announcements
• Roassal Agile Visualization Framework
Copyright © 2013 Instantiations, Inc.
Announcements
• A framework for event notification
• Based on Observer pattern
• Replaces traditional event symbols (#changed) with event objects (ChangedEvent)
• Event objects can carry context-oriented information
• Clients can subscribe, unsubscribe, and handle event• Event Handling uses #on:do: like exception handling
• Supplied because Roassal uses it, but you can use it too
6/10/2013
16
Copyright © 2013 Instantiations, Inc.
Roassal Visualization Framework
• Roassal is an open-source project of ObjectProfile
• Roassal graphically renders objects using short expressive Smalltalk expressions
• A large set of interaction are offered for a better user experience
• Painting
• Brushing
• Interconnecting
• Zooming
• Dragging and dropping
• Using Roassal will enhance your understanding of any arbitrary object model
Copyright © 2013 Instantiations, Inc.
Roassal Visualization Frameworkcontinued
6/10/2013
17
Copyright © 2013 Instantiations, Inc.
Roassal Visualization Frameworkcontinued
• Come to the “The Roassal Agile Visualization Engine” session @ 3:45 tomorrow for more details
Copyright © 2013 Instantiations, Inc.
V8.6 Planned Contentcontinued
• Web Interface
• Grease 1.0.7 / Seaside 3.0.8
• SST Servlet multipart forms
6/10/2013
18
Copyright © 2013 Instantiations, Inc.
Seaside and Grease
• New port levels available
• Grease 1.0.7
• Seaside 3.0.8 (not frozen)
• Mostly small bug fixes
• Configuration maps identify the Metacello package version used for the port; currently:
• ConfigurationOfGrease-topa.192
• ConfigurationOfSeaside30-DiegoLont.392
Copyright © 2013 Instantiations, Inc.
HTTP Servlet Multipart Message
• Inbound only
• Multipart/form and Multipart/mixed
6/10/2013
19
Copyright © 2013 Instantiations, Inc.
HTTP Servlet Multipart Messagecontinued
POST
/tests/functional/WAUploadFunctionalTest?_s=pU08M3vR6qTed
T0h&_k=VsZWNm5-UNwo78kY HTTP/1.1Host: localhost:8788User-
Agent: Mozilla/5.0 (Windows NT 5.1; rv:20.0)
Gecko/20100101 Firefox/20.0Accept:
text/html,application/xhtml+xml,application/xml;q=0.9,*/*
;q=0.8Accept-Language: en-US,en;q=0.5Accept-Encoding:
gzip, deflateReferer:
http://localhost:8788/tests/functional/WAUploadFunctional
Test_s=pU08M3vR6qTedT0h&_k=e1rAWMZHeKaprINZConnection:
keep-aliveContentContent--Type: multipart/formType: multipart/form--datadata; boundary=---
------------------------27682861628308Content-Length:
7204-----------------------------27682861628308Content-
Disposition: form-data; name="4";
filename="abtIS.ini"Content-Type: application/octet-
stream; Windows .INI for VA Smalltalk;;
=============================================; =====
Begin development time only stanzas
=====; ================================================
[Xml]; This stanza is only needed at runtime if your
runtime app used XML.DefaultResourceQualifier=C:\Program
Files\Instantiations\VA Smalltalk\8.6\xml
-----------------------------27682861628308--
• Incoming HTTP message from Seaside WAUploadFunctionalTest
Copyright © 2013 Instantiations, Inc.
HTTP Servlet Multipart Messagecontinued
6/10/2013
20
Copyright © 2013 Instantiations, Inc.
V8.6 Planned Contentcontinued
• Database
• GLORP currency
Copyright © 2013 Instantiations, Inc.
GLORP
• GLORP updated to the latest version available in the Cincom Public Repository (7.9.1-4)
• Host Variable support
• Improved error handling
6/10/2013
21
Copyright © 2013 Instantiations, Inc.
V8.6 Planned Contentcontinued
• Installation
• InstallShield on Windows
• .rpm on UNIX
• Environments Management Tool
Copyright © 2013 Instantiations, Inc.
Windows Installer
6/10/2013
22
Copyright © 2013 Instantiations, Inc.
Windows Installercontinued
• Built with industry-standard InstallShield
• 2 Downloadable Install Packages
• Code
• Installs Client and Manager by default (for standalone)
• Optional installation of only Client or Manager (for shared manager library)
• Emsrv and Emadmin tools are always installed
• Documentation• Separate package allows between-release updates
Copyright © 2013 Instantiations, Inc.
Windows Installercontinued
• All files except mgr86.dat installed in• %ProgramFiles% (64-bit)
• %ProgramFiles(x86)% (32-bit)
• UAC compliant directory locations for writable files• Manager installed in %AllUsersProfile%
• C:\Documents And Settings\AllUsers on XP
• C:\Program Data on Win 7
• Environments utility used to create and manage writable files
6/10/2013
23
Copyright © 2013 Instantiations, Inc.
Windows Installercontinued
• Environments shortcut installed on the Start Menu and Desktop
• Launch Environments to create and start a new development image
Copyright © 2013 Instantiations, Inc.
Windows Uninstaller
• Repair/Uninstall available from Windows Control Panel
• Manager Library is not removed unless requested
• No files created by Environments are removed
6/10/2013
24
Copyright © 2013 Instantiations, Inc.
Windows Uninstallercontinued
• Repair Option
• Repair corrupted installation
• Optionally obtain a new copy of the Manager Library
Copyright © 2013 Instantiations, Inc.
UNIX InstallerIn Development
• UNIX install package will be in .RPM format
• Native platform installer used:
• AIX rpm from AIX Toolbox for Linux Applications
• Linux rpm
• Solaris *TBD*
6/10/2013
25
Copyright © 2013 Instantiations, Inc.
Environments Management Tool
• Environments Tool creates and manages development environments
• Available on all platforms
• Create working directories containing image and .INI
• Manage working directories• Start an image
• Modify settings such as (Envy) server name and manager name and location
• Review content of the working directory
• Get a fresh copy of an image
• Create a shortcut on the desktop to start the image (Windows)
• Delete an image
Copyright © 2013 Instantiations, Inc.
Environments Tool Examples
6/10/2013
26
Copyright © 2013 Instantiations, Inc.
V8.6 Planned Contentcontinued
• Platforms
• Ubuntu 13.04
Copyright © 2013 Instantiations, Inc.
Looking to the Future
6/10/2013
27
Copyright © 2013 Instantiations, Inc.
Future Releases
• Release schedule is about twice a year
• Generally Spring and Fall
• Current content information in Product Roadmap• http://www.instantiations.com/products/roadmap.html
• Content based on requirements from:
• Direct customer interactions
• Forums
• Support cases
• Internals
Copyright © 2013 Instantiations, Inc.
Future ReleasesCandidate Items
• Internationalization
• Full Unicode/UTF-8 (including VM)
• Web interface
• Seaside 3.x
• Continuation support
• Web services tooling improvements
• Web services debugging tools/doc
• Validating XML parser
6/10/2013
28
Copyright © 2013 Instantiations, Inc.
Future ReleasesCandidate Items
• GUI Look-and-Feel
• GTK+ 3.x on Linux
• Windows Common Controls additions
• Icon/image support enhancements• Support for alpha-channel (blending)
• Support for .PNG file (R/W)
• Back-port widgets from add-ons (ex: UML Designer)
• Development Tools
• Redesigned Change Browser & Merge Tool
Copyright © 2013 Instantiations, Inc.
Future ReleasesCandidate Items
• Infrastructure• Settings Dialogs to complement Settings Framework
• Consolidate more settings using Settings Framework
• Consolidate product logging using Logging Framework
• Full .zip, .gz, and inflate/deflate support
• Middleware• DB2 Stored Procedures improvements
• GLORP Programmer’s Reference
• Active Records built on GLORP
• ‘Simple’ DB support (MySQL or SQLite)
• MQ currency
• TCP/IP V6
6/10/2013
29
Copyright © 2013 Instantiations, Inc.
Future ReleasesCandidate Items
• Security
• ‘Basic’ security framework (consolidate existing OpenSSL wrappers)
• ‘Full’ security framework -- OpenSSL 1.0 wrappers
• Performance and Scalability
• Incremental garbage collection
• 64-bit Smalltalk
• Class library performance hotspots
• Integrate KES/Stats goodie for object monitoring
• Platform
• Windows Services control moved from C to Smalltalk
Copyright © 2013 Instantiations, Inc.
Future ReleasesCandidate Items
• External Interfaces• JNIport (currently available on VAStGoodies.com)
• .NET/C#
• Other
• Class Libraries• Collection hashing policies
• Sorted collection sorting policies
• Other• We’re always looking for suggestions
6/10/2013
30
Copyright © 2013 Instantiations, Inc.
How Do You Get VA Smalltalk?
• Download evaluation copy• http://www.instantiations.com/products/vasmalltalk/download.html
• Buy development licenses• http://www.instantiations.com/products/purchase.html
• Download development build
• Announced in VA Smalltalk Google Group
• Be a committer on an Open Source project• http://www.instantiations.com/company/open-source.html
• Work for an educational institution• http://www.instantiations.com/products/academic-license-program.html
Copyright © 2013 Instantiations, Inc.
Contact us
• General information
• Sales
• Support
• Me
6/10/2013
31
Copyright © 2013 Instantiations, Inc.
Questions?