This will also cover use of containers for development environments
- Log in to post comments
This will also cover use of containers for development environments
Actually you can do similar thing (remove source code): http://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=GOBJ_classes#GOBJ_deploy_classes
Hi Ed,
I prefer to have real-time real-world discussion near the whiteboard to leaving comments in issue tracker.
discussion about implementation strategy
You do a whiteboard discussion and write results into your Wiki/Confluence where it's easy to find it. Then you have a code review tool to make sure you implemented it correctly
references to other issues
Don't need this
cross-references to commits
Also don't need this, just write meaningful commit messages
test hints
Talk to tester
start/due dates & time spent
I usually write date the card was created in the corner to track how old it is. Then place it in the backlog based on its urgency. Don't need anything else.
milestones
You can organise your backlog into milestones.
current status
Sprint status is obvious by looking at whiteboard. For more high-level status use wiki/confluence and update it once in a while manually.
assigned person(s)
It's either written on the card or there are "person buckets" on the whiteboard. I usually don't assign issues to people until they start working on them - so if we have capacity for 20 dev days in a sprint there will be few unassigned cards on a whiteboard and people assign themselves once they pick their next card
Issues help to collect all this information and make it available later
It's a bit scary at first to just throw away all completed issues at the end of the sprint, but in reality there's nothing wrong with it. Most of this information is available via source control, and there are not many use cases where you would need to look up an old issue to have some info that's not in source control anyway.
You write it on a card and place it into backlog bucket based on priority
My advise to small teams that are co-located in the same office is not to use issue tracking system at all and use physical cards on whiteboard instead. In my experience using issue tracker just adds overhead without any significant benefits compared to index cards. Obviously if you have a large or distributed team you should use something, but again the simpler the better
Here is a random example from the internet (I usually use bigger cards, A6 format - quarter of a standard paper sheet):

Another example: http://theagilepirate.net/archives/1178
I would add support for both strings and streams, similar to what we have for other interchange formats (XML, JSON etc). This is pretty much what their reference implementation on the website does as well. Since this is a binary format, you need to be careful with character encoding.
Hi Andre Claude,
Thank you for sharing your framework, and for great presentation at Global Summit. I'm looking forward to see your detailed article in Developers Community!
We have a documentation available online, you can link directly to it: http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=TUNT_ExampleTestPortal
Also, video recording of Andre's presentation and PDF of his slides are available at https://learning.intersystems.com/course/view.php?id=664
Looks like you are trying to get your property from Collection instead of object itself. You likely forgot to call .GetAt(i) method before referencing .value.
Hi Nael,
I'd suggest to "print" from IE to PDF first, using CutePDF as a default printer, and then use Adobe Reader or similar tool to print to printer. That should require less scripting of IE and more manageable solution overall.
Regards
Sergei
You forgot Evgeny Shvarov, community manager of InterSystems who will persuade you to join and contribute to our beloved Developers Community!
+1 for this. Your app could be under proxy, firewall, load balancer, on a multi-site host, and usually "default" machine name would be some networking guy's favourite cartoon character or not configured at all, rather than your app domain name anyways.
Just have it as a config option.
But
if +number=number,number\1=+number
doesn't allow leading zeroes either.
I believe that would be equal to just
if number\1=number
Hi Sebastian,
How do you currently determine SMP URL? Usually web server configuration is external to Cache, so there are not many options except asking user to enter SMP URL manually. That's what InterSystems is doing when connecting from external tools like Studio as well.
Any attempt to be smart about it will sooner or later cause you problems with exotic setups like load balancers, external web servers on separate machines, etc etc
Cheers
Sergei
You should definitely store your storage schema in VCS. When you first compile and install your solution into an environment, it doesn't really matter -- as you said, storage will be generated automatically during compilation. However, this will cause major issues when you'll have to upgrade your environment to a newer version of your class and keep the data.
If you had a class definition in Version 1 of your system with properties Address, Zipcode your storage schema will look like
node=$LB($ClassName,Address,Zipcode)
If in version 2 you add another property, BusinessPhone, and you kept your schema, new storage definition will look like
node=$LB($ClassName,Address,Zipcode,BusinessPhone)
And all old data will still be valid, just its BusinessPhone property will be empty
However if you didn't save your schema, new storage will be alphabetically sorted as this:
node=$LB($ClassName,Address,BusinessPhone,ZipCode)
And all old data will have its ZipCode as BusinessPhone now!
I encountered this problem a couple of times, when class definition was exported before it was compiled (and storage schema was not updated), and it was not easy to fix: you need to iterate across the whole global and rewrite it, trying to guess if it's an old data or a new one.
Hope this helps
Sergei
Hi Angelo,
Yes the easiest way is to use ODBC driver and it will behave same way as MySQL. See documentation below.
http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY…
=Sergei
Try to add Recurse="true" to your import statement:
<Import File="${SourceFile}" Recurse="true"/>
Still looks like a bug -- probably worth reporting somewhere... On the other hand it will probably break current solution once fixed.
Can you try IgnoreErrors="""5202,5373"""
What does it output when you run it with IgnoreErrors=1 in the Ignoring Errors: log lines? Sometimes it reports multiple errors there (like 5000,5202) -- so by looking at code you'll need to add those in your list: "5000,5202,5000,5373"
Look at $zboolean function:
http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY…
USER>w $zboolean(10,3,7)
11
You can read about <STORE> errors and memory configuration in documentation:
http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=AVMEM#AVMEM_store_errors
http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=RCOS_vstorage
http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=RCOS_vzstorage
Cache Studio will only work with Cache database. It will not work with GTM. If you want to develop in Studio, you need to install Vista to your Cache instance.
Good to know, but somebody could definitely pick a better error code for this error...
Sure... You can either do it programmatically via Secutiry.Roles.Export() method in %SYS namespace:
http://docs.intersystems.com/latest/csp/documatic/%25CSP.Documatic.cls?…
or via ^SECURITY routine in %SYS namespace:
http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY…
I know it's not too difficult, just thought maybe there is an API call we can use which will do the job for us.
There are few concerns, like conversions you mentioned, duplicate properties, query order nodes, etc.
For example for string http://www.intersys.com/main.csp?a=b&QUERY=abc&QUERY=xyz data array would be
data("QUERY",1)="abc"
data("QUERY",1,"O")=2
data("QUERY",2)="xyz"
data("QUERY",2,"O")=3
data("a",1)="b"
data("a",1,"O")=1
Is there an easy way to parse query parameters into %request.Data-compatible format?
Evgeny, your link still points to localhost for some reason...
did you try to move CSP modules into Apache directory as recommended in documentation?
http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY…
Go to management portal and purge cached queries.
http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY…
It's better to address urgent issues (like system availability ones) to WRC.