Filter Sort by  
 
 
| Responsible user: tlwiechmann
Closed:
0
| Active:
0
(0 in Test) |
 

- Create a Package Management installation for EsiObjects once the GT.M PM is done.
- Try/Catch - The try/catch foundation has been in EsiObjects for some time now. We need to complete the implementation.
- Transaction Processing - A form of TP exists in EsiObjects. We need to complete the implementation for the GT.M and Cache platforms.
- Tutorials - A comprehensive tutorial currently exists. We need to build a 10-minute video tutorial that can be put on YouTube.

 
about 2 years ago (Mon, 30 Nov 2009) | Responsible user: tlwiechmann
Closed:
0
| Active:
2
(1 in Test) |
  
 

The ESI$IndexedTable is a Block Transfer Object (BTO) that will be used as the fundamental data storage type in the EsiDB project. The EsiDB project's goal is to produce a modern database product. It will be used internally initially and then release as an Open Source add in product (library).

1) Existing Details – Make sure the existing details are complete and correct:

a) Documentation - Go through the IndexedTable class and document all objects and code bodies according to the conventions outlined in the EsiObjects Coding Conventions document.

b) Regression Test - Before expanding the functionality of IndexedTable, expand (rewrite) the regression test for the IndexedTable in the RegressionTest library.

c) Base 1 or 0 – Make sure the use of base 0 (internal) and 1 (external) is consistent and well documented.

d) Multiple Methods - There are two sets of methods that are a little confusing: Add* and Set* methods. Also, there are two of each, that is, SetRow and SetRowV for example. Determine whether there needs to be these combination's and if we can simplify them.

e) Indexing – Declaring Indices for columns seems to work. However, I'm not sure it has been implemented in all methods. The different combination of methods outlined in b) complicates things. Make sure indexing is implemented in all methods.

2) Enhancements – Add these new features.

a) Column Typing - Add typing to a column. Builtin's (page 36 of the EsiObjects Language Guide) and Normal classes should be selectable. All columns should be typable. If a type is not specified, it should default to a string type.

b) Column Type Validation – There should be a generic method that performs validation on a given column. It should act as if the column had a Property Sheet and the $Valid was coded. This should be accomplished in a general way that applies to any column type.

c) Criteria Iteration – Finish up the criteria iteration. Currently, the normal iterator is implemented (have not tested it). First, please test the normal iterator and write regression test for it. Then implement the criteria iterators. Try to reuse the Base$Criteria objects. If that appears problematic, reimplemented them. However, please implement all of the criteria implemented under Base$Criteria.

d) Event Processing – Event Processing should be integrated at the usual event points - storage, deletion, etc.

 
about 2 years ago (Sat, 12 Dec 2009) | Responsible user: tlwiechmann
Closed:
0
| Active:
0
(0 in Test) |
 

Create a completely installed virtual machine for EsiObjects so it can be dropped in and used without all the installation details.

 
about 2 years ago (Sun, 31 Jan 2010) | Responsible user: tlwiechmann
Closed:
0
| Active:
0
(0 in Test) |
 

Since EsiObjects is an extension of the 1995 ANSI Standard MUMPS language, the following approach will be taken:
1. First, the 1995 MUMPS language will be completely specified using ANTLRWorks, an IDE for the ANTLR language. This will be made available to the existing MUMPS community through Open Source.
2. Second, the EsiObjects language extensions will be added.
3. The current EsiObjects ANTLR package will be converted from V2+ of ANTLR to V3.

 
almost 2 years ago (Sun, 28 Feb 2010) | Responsible user: tlwiechmann
Closed:
0
| Active:
0
(0 in Test) |
 

The current IDE is based on the Windows MFC. We need a new portable IDE that runs on all platforms.

The following are some tentative requirements for a first pass:
1. Duplicate most of the functionality of the current C++ MFC IDE except where noted below.
a. Replace the M Tools addin with session level tree structures for M routines and globals.
2. Modify the documentation set to reflect the new IDE.
3. Modify the tutorial to reflect the new IDE.