Welcome Guest! To enable all features please Login. New Registrations are disabled.

Notification

Icon
Error

Login


Options
Go to last post Go to first unread
Offline Andrey Ivashov  
#1 Posted : 14 August 2014 21:46:48(UTC)
Andrey Ivashov


Rank: Administration

Groups: Developers, Registered, Knovel Developers, Administrators, Advanced Member
Joined: 11/07/2008(UTC)
Posts: 1,616
Man
Russian Federation

Was thanked: 1978 time(s) in 666 post(s)
Dear developers!

I have a challenge and need to ask you for some assistance if possible. Project is growing and I have to fix all known issues of SMath Studio application. I'm doing my best to perform such changes without killing backward compatibility but now I see that I'm stuck and can't go further.

The issue is Strong Names for assemblies used by SMath Studio. Currently all SMath Studio assemblies are weak-named and this is actually not good at all.

1) Assemblies cannot be put into GAC (developers have to set an exact absolute paths to them to create every single plug-in);
2) Assemblies can be damaged (f.e. by viruses) and it is not actually secure to use them on end-user machine;
3) Names of assemblies are not unique and it makes harder to use them in different projects.

What I want to do:
1) Change assemblies file names (ioman.dll -> SMath.Manager.dll, canvas.dll -> SMath.Controls.dll etc.);
2) Sign assemblies with certificate and make them strong-named (they will be protected from damage);
3) Update installer to finally include assemblies into GAC automatically.

What required from plug-ins creaters:
1) All SMath Studio dlls should be removed from your solutions;
2) SMath Studio should be installed on your development environment and dlls should be referenced from GAC;
3) Solutions have to be rebuild to allow plug-ins to be loaded by SMath Studio.

This is not an ultimatum! I understand how important currently available plug-ins for community. So I can't claim, I can just ask...

Please let me know do you think you are able to perform actions described above. If you think it is possible please list plug-ins you are able to handle. So if everyone will agree we will have a list of plug-ins we will have working and the list of ones cannot be ready for SMath Studio change. As a result I will see if I can sign SMath Studio assemblies with a strong name keys or not.

So sorry that this was not made earlier before plug-ins support was introduced. This is my fault, but I want to fix it as soon as possible.

P.S.: The change I'm talking about will not affect previous SMath Studio versions and plug-ins created for them. All plug-ins will still be available for them via Extensions Manager. We are talking only about future versions of SMath Studio application.
P.P.S.: First of all I plan this change for beta version, so we will have some time to handle most of plug-ins.
thanks 3 users thanked Andrey Ivashov for this useful post.
on 15/08/2014(UTC),  on 15/08/2014(UTC),  on 16/08/2014(UTC)

Wanna join the discussion?! Login to your SMath Studio Forum forum account. New Registrations are disabled.

Offline Davide Carpi  
#2 Posted : 15 August 2014 02:30:01(UTC)
Davide Carpi


Rank: Advanced Member

Groups: Registered, Advanced Member
Joined: 13/01/2012(UTC)
Posts: 2,639
Man
Italy
Location: Italy

Was thanked: 1323 time(s) in 873 post(s)
Andrey, thanks for keeping this project alive with big improvements.

I've not complaints to update the plugins Good

If I understand correctly the GAC shall be updated by the SMath Studio installer, so before referencing the assemblies there aren't additional actions to do in our IDE?

My list of plugins (google spreadsheet).

Edited by user 15 August 2014 02:52:55(UTC)  | Reason: Not specified

If you like my plugins consider to support SMath Studio buying a plan; to offer me a coffee: paypal.me/dcprojects
Offline mkraska  
#3 Posted : 15 August 2014 12:15:43(UTC)
mkraska


Rank: Advanced Member

Groups: Registered
Joined: 15/04/2012(UTC)
Posts: 1,980
Germany

Was thanked: 1120 time(s) in 718 post(s)
As for the Maxima and ImageEditRegion plugin:

The development project is over, Kay now faces other challenges. He did not explicitly exclude further maintenance, yet we just can hope for the best.

I never really understood a line of c# code and do not know anything about strong naming and GAC. I even did not manage to install Visual Studio (which seems to insist on bloating my very limited ssd system partition).

I would not mind others to do the required changes, everything should be in the SVN.

As far as I understand, future versions of SMath shall be only compatible with new style plugins. I'd recommend to provide critical bug fix versions also for the old style, at least for some migration phase. The fix of SS-194 IMHO deserves a separate maintenance release, as it easily spoils the user experience.

Edited by user 15 August 2014 13:13:35(UTC)  | Reason: Not specified

Martin Kraska

Pre-configured portable distribution of SMath Studio: https://smath.com/wiki/SMath_with_Plugins.ashx
Offline Andrey Ivashov  
#4 Posted : 15 August 2014 23:03:38(UTC)
Andrey Ivashov


Rank: Administration

Groups: Developers, Registered, Knovel Developers, Administrators, Advanced Member
Joined: 11/07/2008(UTC)
Posts: 1,616
Man
Russian Federation

Was thanked: 1978 time(s) in 666 post(s)
Hello!

Originally Posted by: w3b5urf3r_reloaded Go to Quoted Post
If I understand correctly the GAC shall be updated by the SMath Studio installer, so before referencing the assemblies there aren't additional actions to do in our IDE?

Yes, you're absolutely right!

Originally Posted by: mkraska Go to Quoted Post
I'd recommend to provide critical bug fix versions also for the old style, at least for some migration phase. The fix of SS-194 IMHO deserves a separate maintenance release, as it easily spoils the user experience.

Agree with you. Will do release before any big changes.

Originally Posted by: ioan92 Go to Quoted Post
Will it be possible to exploit the existing files without changes or some deep changements will be necessary?

No code changes at all. It is only project configuration which is required. I will create small but detailed instruction what should be updated.

Originally Posted by: ioan92 Go to Quoted Post
Is it possible to produce a translator in these pespective?

Ioan, not sure I understood. What translator do you mean?

Originally Posted by: ioan92 Go to Quoted Post
Would it be possible to evaluate an approximate calendar for this process?

Currently I'm doing a research to investigate all possible risks (plug-ins mechanism, and other SMath Studio behaviors). So, for now I need to know if most plug-ins could be updated to support strong named SS assemblies. If not, then I will postpone this change and wait for a better time (I'm thinking about possibility to automate building plug-ins from sources available in svn after each release).

Thank you so much for all your help!

Best regards, Andrey Ivashov!
thanks 2 users thanked Andrey Ivashov for this useful post.
on 15/08/2014(UTC),  on 16/08/2014(UTC)
Users browsing this topic
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.