+1, and for some reason I don't get any email from this site now at all...
- Log in to post comments
+1, and for some reason I don't get any email from this site now at all...
This is a documentation on how to add/edit server connection:
http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY…
Use 127.0.0.1 as server address
And then try to launch Studio and Terminal using "Remote System Access" menu from Cache tray cube. If it works, you can set that "remote server" as default.
Looks nice! A few things to consider:
- On MacOs Safari header text is white on white background
- On small (mobile) screens there is a huge 230px right padding in .book class, page looks much better without it
- On small screens, it's better to hide left menu by default and let user expand it with menu button, like https://material.angularjs.org does. Also it should overlap or shift main text, otherwise both are unreadable.
I didn't actually test it on a phone/tablet, just resized browser window. Maybe it's OK on mobile devices.
Hi Kenneth,
There is $toJSON method which you can use to convert any persistent object into JSON. Actually any %Registered object has it too!
SAMPLES>set Person=##class(Sample.Person).%OpenId(1)SAMPLES>set personJson=Person.$toJSON()
SAMPLES>write personJson
{"$CLASSNAME":"Sample.Person","$REFERENCE":"1","Age":65,"DOB":39985,"FavoriteColors":["Yellow"],"Home":{"City":"Fargo","State":"NC","Street":"7424 Main Avenue","Zip":82189},"Name":"Novello,Olga I.","Office":{"City":"Pueblo","State":"MT","Street":"430 Franklin Place","Zip":29528},"SSN":"315-46-7788"}
SAMPLES>w $zv
Cache for UNIX (Apple Mac OS X for x86-64) 2016.2 (Build 657U) Sun May 15 2016 20:35:24 EDT
Evgeny, your link still points to localhost for some reason...
Is there an easy way to parse query parameters into %request.Data-compatible format?
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
Good to know, but somebody could definitely pick a better error code for this error...
Can you try IgnoreErrors="""5202,5373"""
Still looks like a bug -- probably worth reporting somewhere... On the other hand it will probably break current solution once fixed.
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
I believe that would be equal to just
if number\1=number
But
if +number=number,number\1=+number
doesn't allow leading zeroes either.
+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.
You forgot Evgeny Shvarov, community manager of InterSystems who will persuade you to join and contribute to our beloved Developers Community!
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
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
You write it on a card and place it into backlog bucket based on priority
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.
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
This will also cover use of containers for development environments
Please find slides for my presentation here https://www.slideshare.net/secret/bnUsuAWXsZCKrp (Modern Development Environment)
Please find repository here https://github.com/logist/wduk18 - you will need to load your own IRIS container and change "FROM" statement in Dockerfile - see http://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=AFL_containers_deploy_repo for instructions. You'll also need license key because REST service will not work without it.
Also don't forget to change docker storage driver if you want to run examples http://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=ADOCK_additional_driver
Good one!
You can actually use 10e21 in COS code, it's a valid number format.
I'm glad you found the solution, though still not sure about its usefulness :)
You can use $zu function directly with third parameter
$ZU(171,1) returns CPU time (in milliseconds) on any OS, as a string in format SYS_time,USER_time $ZU(171,1,pid) returns total CPU time (system + user) for process pid.
However this will return CPU time -- the time CPU was actually serving the process, not the time since process was started (when process is idle, this counter does not increase). Eduard's solution would be better if you need the total time.
OK now I'm curious where it was originally posted! :)
In that case I think it would be nice to have several ways to distribute a project:
Just as a side comment, this has actually nothing to do with cookies. Cookies don't protect against CSRF. This is a custom HTTP header with a word "Cookie" in its name. So while it's correct it's a bit confusing.
I was not sure if checking for just presence of the header and not an actual value is enough (we assign a random value at logon time and store it in session), but apparently all browsers prevent cross-site AJAX requests so 3rd party site can't send custom header.