.minerva – An AIR Shared Object Editor

Monday, October 6th, 2008 | Projects


Version 3.2.3, Updated June 11, 2010
  • Compatibility: AIR 1.5 and later (ActionScript 3.0)
  • File Size: About 530Kb
  • Change Log

Download Now (3.2.3)

Please upgrade your Flash Player This is the content that would be shown if the user does not have Flash Player 9.0.115 or higher installed.




What’s New

  • Fixed drag-n-drop feature
  • Fixed open with .minerva

Description

.minerva is an Adobe AIR based utility. It is capable of reading and writing AS2 (AMF0) and AS3 (AMF3) Shared Objects (.sol Files). It is also capable of reformatting JavaScript that has been optimized. An example of optimized JavaScript is JavaScript that has all the line breaks removed in order to reduce file size. Thus reducing the entire script to a single line. While good for file size, it’s hard on readability. .minerva returns the code back to it’s formatted form.

Features

  • Read/Write AS3 Shared Objects – Capable of reading/writing Flash 9 and newer .sol files.
  • Read/Write AS2 Shared Objects – Capable of reading/writing Flash 8 and older .sol files.
  • Reformat JavaScript – This is a bit of a random feature I added in becuase I didn’t feel like making an entire application for this feature. When you run across compressed JavaScript, it’s a pain to read. What this allows you to do is return that compressed (often one-lined) JavaScript back into formatted and legible text. Beautify Javascript
  • Auto-update capability

.minerva with AS3 .sol open

.minerva with AS3 .sol open

.minerva with compact JavaScript

.minerva with compact JavaScript

.minerva with formatted JavaScript

.minerva with formatted JavaScript

.minerva with an AS2 .sol file open

.minerva with an AS2 .sol file open

Alternate Downloads

.minerva has recently been added to Softpedia.

Change Log

.minerva 3.2.3 for Adobe AIR 1.5 (June 11, 2010)

  • Fixed drag-n-drop feature
  • Fixed open with .minerva

.minerva 3.2.2 for Adobe AIR 1.5 (May 18, 2010)

  • Fixed object reference error
  • Added donate button to About window
  • Tweaked UI

.minerva 3.2.1 for Adobe AIR 1.5 (March, 30, 2010)

  • Removed redundant Flex components
  • Added filename to window title
  • Fixed Array lockup bug
  • Fixed SharedObject name save bug
  • Fixed SharedObject data save bug
  • Fixed Date save bug
  • Fixed associative Array save bug
  • Fixed editing variable names in inspector view
  • Handles ‘Null’ correctly now
  • Handles ‘Unsupported’ correctly now
  • AMF3 – Fixed ByteArray read bug
  • AMF3 – Fixed ByteArray write bug
  • AMF3 – Fixed ByteArray save bug
  • AMF3 – Fixed XMLDocument save bug
  • AMF3 – Can save files byte for byte the same as Flash IDE
  • AMF0 – Tweaked XMLDocument handling
  • AMF0 – Fixed null save bug
  • AMF0 – Fixed Arrays, now always saved as ECMAArray
  • AMF0 – Handles ‘Unsupported’ correctly now
  • AMF0 – Can save files byte for byte the same as Flash IDE

.minerva 3.2.0 for Adobe AIR 1.5 (March, 18, 2010)

  • Added Sort dropdown – SharedObject can now be sorted by type or name
  • Fixed “Save” bug – Hitting File->Save now works
  • Fixed tooltip positioning bug
  • Fixed AMF0 custom object bug
  • Fixed AMF3 save bug
  • Updated JS formatter
  • Updated UI to match .whistler
  • Added Refresh button to reload a SharedObject
  • Added ability to parse AMF files saved from AMFExplorer or Flashbug

.minerva 3.1.0 for Adobe AIR 1.5 (January 22, 2010)

  • Fixed saving bug
  • Added file type association
  • Filetype icon
  • Alerts when any errors occur

.minerva 3.0.0 for Adobe AIR 1.5 (January 07, 2010)

  • Edit SOL Files – Now supports saving edits of an SOL file!
  • Added new color theme
  • Updated JS formatter engine
  • Updated About Window

.minerva 2.0.1 for Adobe AIR 1.5 (May 26, 2009)

  • Updated AMF0 support of custom typed objects.
  • Added drag and drop support for opening files
  • Updated About window

.minerva 2.0.0 for Adobe AIR 1.5 (August 8, 2008)

  • Complete internal overhaul
  • Support for AS3 (AMF3) Shared Objects finally
  • Updated support for AMF0

.minerva 1.6.0 for Adobe AIR 1.0 (July 22, 2008)

  • Smoothed images
  • Embedded fonts for smooth text
  • Restructured internal code
  • Updated installed program name

.minerva 1.5.1 for Adobe AIR 1.0 (July 15, 2008)

  • Improved auto updater

.minerva 1.5 for Adobe AIR 1.0

  • Added auto updated
  • Added about window
  • No more status bar

.minerva 1.1 for Adobe AIR 1.0

  • Updated for Adobe AIR 1.0

.minerva 1.1 for Adobe AIR B3

  • Added JavaScript code formatter. Updated ‘About’ window with logo.

.minerva 1.0 for Adobe AIR B3

  • Initial release. Support for AS2 (AMF0) Shared Objects.

Need Help?

Feel free to e-mail me a question. When you e-mail your question, please include pictures (if applicable) that clearly demonstrates the problem and provide a brief explanation.

Author: Gabriel Mariani, (e-mail: gabriel -at- coursevector.com)
Copyright 2010, CourseVector (This work is subject to the terms here.)

Tags: , ,

40 Comments to .minerva – An AIR Shared Object Editor

sol
January 10, 2009

Will it be possible to edit and save sol files with .minerva in the future?

gabriel
January 11, 2009

If the demand was there for it. I’ll put it on my todo list, right now i’m in the middle of some updates to SideShow and Aroma.

Jerome
May 4, 2009

Hello,
Do you plan to release it as opensource. I am interested in to look your AMF parser code. Thanks.

gabriel
May 8, 2009

To tell you the truth, the first version I made I built the AS2 parser from scratch. With the AS3 updates, I pulled a lot of logic from the AMFPHP project which IS open source. AMFPHP

Andrew Muller
May 16, 2009

.minerva is a handy tool, but with testing you go through the process of “open>browse for sol” repeatedly, I think the ability to drag and drop a sol from the OS into .minerva would eliminate this and make it even more useful!!

[...] .minerva For .minerva I upgraded it’s support of AMF0 custom classes and typed objects. It now supports dragging and dropping files into the UI to speed up debugging. [...]

[...] all using a ByteArray, so I looked for a tool to do the job. I found a handy AIR application called Minerva, which can open a *.sol file and display its information. As of this writing, the current version [...]

Quentin
September 18, 2009

Very cool.
I’d also be interested in the AMF parsers, releasing them as opensource would be absolutely great! But I’ve done some AIR apps also, and I know it’s not an easy decison…

Please keep me updated!

gabriel
September 18, 2009

I would probaly consider doing that. I got most of the v2 logic from amfphp which was open source to begin with. Only makes sense to share! I’ll let you know when I get it up, mostly likely on Google Code or something.

Quentin
September 21, 2009

That would be really useful!
I can help you write the code to handle updating the SOL.

Please ping me as soon as you can (directly if you want, I’m working on a project that would be way better with the help of such a lib)!

Henk
October 3, 2009

I found one error while formatting a Javascript file:

var A = 1e-10;

is wrongly formatted as:

var A = 1e – 10;

gabriel
October 3, 2009

I don’t see whats wrong with that. Looks correct to me.

Aaron
December 5, 2009

Very nice! I used to use .soleditor but they never updated it for AMF3 so I finally just uninstalled it.

I would add my vote for being able to write to the .sol as well. The data fields are editable so I thought this was feature at first glance.

Thanks for this.
- Aaron

Aaron
December 5, 2009

Oh and also, “open with” functionality would be great, so I could set up file association with .sol files. In fact I’d be more than happy to contribute that code if you would be interested. – Aaron

gabriel
January 7, 2010

Henk, I finally realized what you meant, and updated the JS Formatter engine. So your math error should be fixed now

p48l0
January 8, 2010

good work!

Spencer
January 20, 2010

Gabriel, I can open and edit .sol files, but cannot get the changes to save. Even the “save as” function doesn’t create a new file. Any help? I have updated Air to the latest version. Thanks!

JJ
February 11, 2010

I’ve enjoyed using your tool and though I would comment on an issue I’ve encountred. When I edit the loaded .sol file I’ve only been able to persist the changes using the “save as” option from the menu. Though the changes do appear in the new .sol file, I’ve noticed that all Number type data from the original .sol are converted into Integer types in the new file.

Thanks for sharing your tool.

elvis
February 25, 2010

Thanks for the tool. What would make this really useful for me, would be if it read the contents of your shared object directory directly (by adding that path in), and poll the contents frequently to reflect changes in the .sol for viewing/debiggun purposes.

Jap
March 13, 2010

“save as” function changes “filename : AMF3″ into “filename.sol : AMF3″.

And, cannot “save” function work on Windows7 ?

cmacleod
March 15, 2010

Would it be possible to add a sort option for the shown properties/variables. I have some very complex sol files and it is awkward to look through long lists for the desired item

Otherwise thanks a lot, one of the few editors/viewers that actually works

gabriel
March 15, 2010

@elvis Maybe i’ll add a refresh button to reload the file

@Jap The first part it always adds an extension when saving. That’s how the program recognizes a SOL file. I don’t understand the second part of what you wrote.

@JJ i’ll look into that

@cmacleod I’ll check on that too

Benzyne
March 15, 2010

Is this App tested on Mac OS? I open it and only see an empty pane.

Thanks

cmacleod
March 19, 2010

Thanks for the sort option

cmacleod
March 19, 2010

I have had a couple of problems with the new version, both to do with Array() entries
a) minor issue if you expand the array to view it’s entries it always expands the first (0) entry. If I then minimise the element 0 it closes the entire Array. I just wants to hide the element 0 so I can see the others

b) If I expand element 3 or more entries at once (say 0, 1, 3 or whatever) the application hangs and I have to terminate it

If it matters the data structure is a custom class that contains an Array of another class. I can send you the sol file if you desire.

cmacleod
March 19, 2010

(slight typo above)
The hang is if I expand 3 or more Array() entries at once.

jaltaba
March 22, 2010

I’ve been having a problem with the utility where after making any changes to a .sol file and saving it, the .sfw that accesses it no longer recognizes the file. Any help would be appreciated.

alan
March 23, 2010

hi, a little bug ? :
when i save a SO -amf3- (with version 3.2.0.2), your application add “.sol” to the name of the sharedobject
not the file name, the internal name : SharedObject.getLocal(“mySO”,”/”) , after saving “mySO” become “mySO.sol” …. )
so it is unusable ;)

gabriel
March 23, 2010

Bah, the devil is in the details. Thanks alan! I’ll have an update hopefully tomorrow if work isn’t too hectic.

gabriel
March 30, 2010

Ok so I finally took the time to really go over all the details and make sure everything (that I could tell) is up to par and fixed. As you can tell from the change log quite a bit was fixed. Please try out the latest version and let me know if anything is still wrong.

cmacleod
March 30, 2010

Thanks, the array issues are fixed, a couple of thoughts while checking
a) I have a couple of undefined types in my sol file (a bug) but I cannot fix these to Number. Is it possible to change the type of an entry?
b) also would it be possible to add new variables, or too complex to do?

gabriel
March 30, 2010

No, it’s all quite possible. It’s just a matter of creating an interface that isn’t too complicated. But right now I’m just trying to fix bugs. Flashbug has some problems I need to get fixed. Maybe after everything is said and done I can get back to .minerva and add that capability. Trust me, its on my to-do list, just don’t have much time =p

Lollie
April 6, 2010
MG
April 8, 2010

Lollie, I have the exact same problem with the same exact game; I just used cheat engine instead. It would be awesome if there was a help section that can clarify what exactly are the errors and ways to solve them. I looked it up and got this:

ReferenceError: Error #1065: Variable LoadTest is not defined.
at global/flash.utils::getDefinitionByName()
at … (rest of stack trace deleted)

1065 Variable _ is not defined. You are using an undefined lexical reference. For example, in the following statements, the statement trace(x) generates an error because x is undefined. However, the statement trace(y) doesn’t generate an error because y is defined: trace(“hello world”) trace(x) // x is undefined var y trace(y) // No error, y is defined.

In this case I was trying to dynamically instantiate a class by first finding the definition of that class and then newing it. Something like this:

public function createInstance(className:String):Object {
var instance:Class = Class(getDefinitionByName(className));
new instance();
}
It turns out the reason why the error was being thrown was that in my Flex Application I didn’t have anything which “used” the class. In other words the compiler thought that the class was left over junk and didn’t include it in the compiled swf. By adding in a use of it, everything started working. As example use would be something like:

private static const loadTestRef:LoadTest = null;

Source: “Daniel R.: Flex 2 Runtime Error 1065.” NeoPhi. Web. 08 Apr. 2010. .”

Don’t know what the hell that means.

cmacleod
April 17, 2010

Similarly I have a significant error
a) load my sol file using minerva
b) change a field, click save changes on the field, then save via the File Menu
c) exit minerva. Re-run and open the same sol file and I get the error
AMF0::getObjectReference – Error – Undefined object reference ’512′

I have seen this error a couple of times, different references (also seen 768). My sol file is quite complex, many objects and arrays and many variables

Jonny
May 14, 2010

AMF3::getObjectReference – Error : Undefined object reference ’147′
error when try to edit savegame of
http://www.newgrounds.com/portal/view/536018

cmacleod
May 31, 2010

Thanks for the bugfix, a small issue with the latest version:
Previously I could right-click on a .sol file anywhere (generally posted with a bug and copied to my hardrive somewhere) and .minerva would open the file just fine.
Not anymore, .minerva opens but the file is not open. A pity this was very useful.
This also happens if the file is in the standard folder, so it is an issue with the rightclick open process. The program works just fine otherwise

vpu
July 19, 2010

Is there going to be a fix for the sol errors?
It is very sad indeed that such a brilliant program is ruined by the fact that it destroys perfectly fine sol files :(

Corrosive
July 21, 2010

There’s a pretty glaring error that causes .minerva to incorrectly save(or parse, I’m not sure which step it’s failing at) .sol files. It causes .minerva to save files that if you were to re-open them, you get an Undefined object reference error.

If I’m not mistaken, isn’t that error caused when the AMF0 parser finds a ‘reserved’ variable with a null value?

I’m using flash 10(debug version). AMF0 shouldn’t really be parsing the files, since they should all be AS3 to my knowledge. Perhaps include a method in the future to force-specify which parser to use?

I have a sample .sol that I could upload to you if you wish. It opens fine the first time, but if you save it(even without changing a thing) you are guaranteed to get the Undefined object reference error. After saving the filesize of the .sol is reduced from 6.41k to 2.60k as most values are lost.

Gabriel
July 21, 2010

That would be awesome if you could email that to me. I’m sorry I didn’t catch this error. To be honest I only use minerva to read sol files not really edit them. So I only hear about these issues when somone speaks up. I’ll get to it asap. Or if you want you can post an issue/bug here: http://code.google.com/p/cv-minerva/issues/list

I’m going to start using Google code to keep track of bugs so people can tell when something has been fixed. Thanks!

Leave a comment

Please upgrade your Flash Player To submit a comment, you must have Flash Player 9.0.0 or higher installed. I use a flash form here to help prevent spam.

Search