Latenite 2: Directory structure and project management.

One suite to code them all. An complete IDE and assembler for all your z80 projects!

Moderators: benryves, kv83

User avatar
benryves
Maxcoderz Staff
Posts: 3087
Joined: Thu 16 Dec, 2004 10:06 pm
Location: Croydon, England
Contact:

Latenite 2: Directory structure and project management.

Post by benryves »

Dull title, I know, but I'd like feedback, especially from those writing libraries and so on.

The way I see it working is like this;

The (default) directories would be:
  • My Documents\Latenite\Projects (contains saved projects)
  • My Documents\Latenite\Includes (default include files directory)
  • My Documents\Latenite\Plugins (plugins directory)
  • My Documents\Latenite\Help (documentation directory)
  • Program Files\Latenite (application directory)
Projects would contain saved project files (.lnp) and source code.

Includes would contain include files - for example, ti83plus.inc. Latenite will manage a list of include directories, so for example I could install the TI API project into the "My Documents\Latenite\Includes\TIAPI" directory, add that to my include directories list in Latenite, then just use ".include tiapi.inc".

Plugins would contain plugin DLLs for Brass or Latenite.

Help would be a repository for documentation - Latenite will have a new help browser that can display text files, image files and so on, rather than having to create those fiddly XML files. If you download some new documentation, copy it to this folder and you'll be able to browse it from Latenite.

Latenite (in Program Files) will just contain the core DLLs and EXEs that make up Latenite.

The only disadvantage of the above is that you won't be able to automatically update the Latenite program files. I'll have to think about that.

Image
(Click)


For each project, you can create a number of build configurations. Each configuration will have a number of key-value pairs (which you can add as many as you like) which are passed as environment variables to Brass for the assembler to pick up (much like it's done at the moment without the .cmd file hackery). What's obviously missing from that screenshot is a dropdown that would let you pick which output plugin ("TI-83 Plus Program", "TI-83 Program") you'd use for each configuration.

On top of those, you'd have a "configuration modifier" - a second dropdown with its own set of key-value pairs set in the same way, the most obvious use of which (and which will be the default) being a "Debug"/"Release" dropdown.

The other tabs are pretty simple; Events will have pre/post build events (run on the command-line, so you could for example copy files around or run an external program on each build). Debug will let you pick and configure the debugger; Publish will give you options for publishing your project (publishing will rebuild for each and every configuration under one configuration modifier, zip them up, possibly including source/other files and so on).
Last edited by benryves on Wed 11 Oct, 2006 2:08 pm, edited 1 time in total.
User avatar
kv83
Maxcoderz Staff
Posts: 2735
Joined: Wed 15 Dec, 2004 7:26 pm
Location: The Hague, Netherlands
Contact:

Post by kv83 »

The only disadvantage of the above is that you won't be able to automatically update the Latenite program files. I'll have to think about that.
Why not?
Image
User avatar
benryves
Maxcoderz Staff
Posts: 3087
Joined: Thu 16 Dec, 2004 10:06 pm
Location: Croydon, England
Contact:

Post by benryves »

kv83 wrote:
The only disadvantage of the above is that you won't be able to automatically update the Latenite program files. I'll have to think about that.
Why not?
You can't (by default) write to Program Files unless the program has Administrator rights...
User avatar
kv83
Maxcoderz Staff
Posts: 2735
Joined: Wed 15 Dec, 2004 7:26 pm
Location: The Hague, Netherlands
Contact:

Post by kv83 »

benryves wrote:
kv83 wrote:
The only disadvantage of the above is that you won't be able to automatically update the Latenite program files. I'll have to think about that.
Why not?
You can't (by default) write to Program Files unless the program has Administrator rights...
Afaik (and I don't know much :P), all local programs have admin rights... I had never problems to write into Program Files
Image
Andy_J
Calc Master
Posts: 1110
Joined: Mon 20 Dec, 2004 10:01 pm
Location: In the state of Roo Fearing
Contact:

Post by Andy_J »

Which, of course, hardly anybody knows or notices since 99% of Windows computers are set to run everything as an Administrator by default.

In contrast, if any distro of Linux would do the same with root running everything by default, they'd be taken out back and shot quite promptly. :P

EDIT - For rules on font size see here: http://kvince83.tengun.net/maxboard/vie ... 57&start=0
ImageImage
Image
User avatar
kv83
Maxcoderz Staff
Posts: 2735
Joined: Wed 15 Dec, 2004 7:26 pm
Location: The Hague, Netherlands
Contact:

Post by kv83 »

Don't turn this into a Linux-Windows security debate.

Everyone knows that Linux sucks anyway ;)
Image
User avatar
benryves
Maxcoderz Staff
Posts: 3087
Joined: Thu 16 Dec, 2004 10:06 pm
Location: Croydon, England
Contact:

Post by benryves »

kv83 wrote:
benryves wrote:
kv83 wrote: Why not?
You can't (by default) write to Program Files unless the program has Administrator rights...
Afaik (and I don't know much :P), all local programs have admin rights... I had never problems to write into Program Files
No, programs automatically (and stupidly) are giving the full rights of the logged in user. Under Vista this is not the case, and you will not be able to run programs as administrator - even when logged in as one - without manually giving the program permission.

See here. Running as administrator is an unwise move, hence Windows viruses can cause a lot of damage - as Andy_J pointed out, 99% of users run as Administrator anyway.

Vista uses a revised model called UAC.

Anyhow... any comments on the Latenite directory structure? Will people be annoyed at a Latenite directory in their Documents directory? (If one is not detected, Latenite will prompt you to create one and ask for the directory location - so you will be able to put it elsewhere).
Andy_J
Calc Master
Posts: 1110
Joined: Mon 20 Dec, 2004 10:01 pm
Location: In the state of Roo Fearing
Contact:

Post by Andy_J »

Andy_J wrote:EDIT - For rules on font size see here: http://kvince83.tengun.net/maxboard/vie ... 57&start=0
Then remove the option from the Font Size dropdown on the posting page.
ImageImage
Image
User avatar
kv83
Maxcoderz Staff
Posts: 2735
Joined: Wed 15 Dec, 2004 7:26 pm
Location: The Hague, Netherlands
Contact:

Post by kv83 »

@ben Hmmm, i see. But how will all auto-updaters work then? Not only MAU, but other programs too...

Also: what is the gain from placing latenite in the program files (except that it fits there?). I have my z80-working folder on my desktop, with latenite in it at the moment.

About the structure in the "MyDocuments" -> that should be no problem for me. I'm used to Visual Studio 2005, which uses the same approach as you I guess :)
Image
User avatar
benryves
Maxcoderz Staff
Posts: 3087
Joined: Thu 16 Dec, 2004 10:06 pm
Location: Croydon, England
Contact:

Post by benryves »

kv83 wrote:@ben Hmmm, i see. But how will all auto-updaters work then? Not only MAU, but other programs too...
ClickOnce apps end up in your Settings directory, I believe.
Also: what is the gain from placing latenite in the program files (except that it fits there?).
I'm marginally obsessive-compulsive. ;) It just matches with the way other applications do it.
User avatar
kv83
Maxcoderz Staff
Posts: 2735
Joined: Wed 15 Dec, 2004 7:26 pm
Location: The Hague, Netherlands
Contact:

Post by kv83 »

Yeah, but ClickOnce apps are not real-installed apps... more like offline "web"-apps... which sucks, seriously. I don't see Blizzard making World of Warcraft an ClickOnce app either.
Image
User avatar
benryves
Maxcoderz Staff
Posts: 3087
Joined: Thu 16 Dec, 2004 10:06 pm
Location: Croydon, England
Contact:

Post by benryves »

kv83 wrote:Yeah, but ClickOnce apps are not real-installed apps... more like offline "web"-apps... which sucks, seriously.
ClickOnce apps can run offline just like any other application.

In any case, you can momentarily give applications admin rights using the runas command, right-clicking and selecting Run As or by setting the shortcut properties to prompt for your credentials. UAC should theoretically make this a lot slicker.

You need admin rights to install software in the first place anyway, so having admin rights (or prompting to use them) to update an application shouldn't be such an issue.
User avatar
silver calc
New Member
Posts: 73
Joined: Tue 28 Mar, 2006 10:50 pm
Location: Wouldn't you like to know?

Post by silver calc »

How will the help files be read (similar or exactly like LateNite1, or a new methd)?
Please "encourage" me to work more on Image any way you deem necessary
User avatar
benryves
Maxcoderz Staff
Posts: 3087
Joined: Thu 16 Dec, 2004 10:06 pm
Location: Croydon, England
Contact:

Post by benryves »

An all-new method, using the Document Browser (which gives the help file author a lot more flexibility).

What I'll probably do is write a tool to convert the old-style XML help files into the requisite HTML files (properly linked, this time, with the contents set out neatly) and turn it into a DocPack. Does that sound OK to you? :)
User avatar
Timendus
Calc King
Posts: 1729
Joined: Sun 23 Jan, 2005 12:37 am
Location: Netherlands
Contact:

Post by Timendus »

Will we still be able to select an opcode, press F1 and read it's description, flag, etc..? In that case it sounds very OK te me ;)
http://clap.timendus.com/ - The Calculator Link Alternative Protocol
http://api.timendus.com/ - Make your life easier, leave the coding to the API
http://vera.timendus.com/ - The calc lover's OS
Post Reply