(DEV) I need your help

(DEV) I need your help - Messages

#1 Posted: 8/14/2014 2:46:48 PM
Andrey Ivashov

Andrey Ivashov

2269 likes in 3729 posts.

Group: Super Administrator

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.
3 users liked this post
Davide Carpi 8/14/2014 7:32:00 PM, Martin Kraska 8/15/2014 4:42:00 AM, ioan92 8/16/2014 7:14:00 AM
#2 Posted: 8/14/2014 7:30:01 PM
Davide Carpi

Davide Carpi

1415 likes in 2872 posts.

Group: Moderator

Andrey, thanks for keeping this project alive with big improvements.

I've not complaints to update the plugins

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).
If you like my plugins please consider to support the program buying a license; for personal contributions to me: paypal.me/dcprojects
#3 Posted: 8/15/2014 5:15:43 AM
Martin Kraska

Martin Kraska

1222 likes in 2150 posts.

Group: Moderator

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.
Martin Kraska Pre-configured portable distribution of SMath Studio: https://en.smath.info/wiki/SMath%20with%20Plugins.ashx
#4 Posted: 8/15/2014 4:03:38 PM
Andrey Ivashov

Andrey Ivashov

2269 likes in 3729 posts.

Group: Super Administrator

Hello!

Wrote

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!

Wrote

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.

Wrote

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.

Wrote

Is it possible to produce a translator in these pespective?


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

Wrote

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!
2 users liked this post
ioan92 8/15/2014 4:25:00 PM, Davide Carpi 8/15/2014 5:23:00 PM
  • New Posts New Posts
  • No New Posts No New Posts