PlanningDev wrote:Im not a coder by training but I have learned the basics of Java and VB. Forgive me if this sounds ignorant but, can you call the C API from .net? Or wouldn't the function for this need to be part of the VB.net API?
Short answer "Yes".
Longer answer:
(a) It's not a C API, it's a VB6/VBA/C API albeit with some functions which differ between the languages;
(b) The function declarations that appear in the standard TM1API.bas file for VB6/VBA are still used, though the data types need to be changed to allow for Longs in VB6 becoming Ints in .Net and Ints becoming Shorts.
(c) There are a few other provisos.
Longest (way, way longest answer): in the post that I made on
connecting to TM1 using the .Net API I mentioned in passing that I may one day write one on using the classic API in a .Net environment and have coincidentally been working on that for the last few days. I planned to publish it on the weekend when I have time to do all of the formatting and screenshots and thought briefly about putting what I've done of it up now in response to this question, but I don't really want to do that until it's finished. (Not least because I want to ensure that the sample project runs without glitch. I have some current apps which use this method so I know that it works, but since the one that I'm using in the article is greatly simplified Murphy's Law dictates that I'll have left something important out and have to go back and edit the earlier content.) So if you can hold on for a couple of days, you'll be able to see for yourself. ("Longest" answer in the sense that the draft in Word is currently up to about 20 pages and will probably be in the 25-30 range when done. I do not expect it to have a wide readership but what the hey.)
PlanningDev wrote:As for .net vs C vs Java, I just find that the Java API is the easiest to code in.
To each their own. Some people like beetroot too.
PlanningDev wrote: The whole capsule thing for TM1 Values in VB and C is a pain
It is. But thankfully there's an inverse relationship between how much of a pain it is and how much you use it.
PlanningDev wrote:and seems to be handled easier in Java.
Couldn't comment on that. If I have to spend half my time writing squiggles and don't have a decent IDE to do it in, I tend to dislike the language more than I dislike whatever I need to do with it. And that doesn't even begin to address security issues in Java. Or Oracle's distasteful little habit of trying to make a buck by
lumbering you with foist-ware every time it fixes one of its many, many security issues.
Actually I'm surprised that Iboglix, with its love of all things Java, hasn't added curly brackets to the TI code syntax just to p*ss me off, and reduced the font size in the Editorsaurus even more just to make sure that we have more trouble matching them up.
PlanningDev wrote:Plus, TM1 comes with its own apache server now so its pretty easy to deploy web apps that way as well although its not like .net is tough either.
You're right, it's not. I was not exactly a .Net enthusiast at the outset and while it still has deficiencies (the folder selection control, for instance, is a joke) it's just so easy to get from A to B in .Net compared to VB6 and VBA.
PlanningDev wrote:The big downside to Java is that your IDE's don't really help with building the front end whereas Visual Studio is a little more all in one at least for the web.
A
LOT more all in one, though once concern with that last statement; don't reinvent the wheel. Your original post suggested that you were creating objects, and that's fine and dandy... but if all you want it for is deploying TM1 numbers through a web interface I'd definitely be looking at something like TM1 Web or a supported third party solution such as OLAP Objects (which is now known as something else but can't remember what at the moment). I wouldn't be using the API to pull numbers into a Web dashboard, for instance, unless there was no other realistic choice or unless it was just as a subset of data coming from multiple sources.