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

Notification

Icon
Error

Options
Go to last post Go to first unread
Offline fakemoses  
#1 Posted : 16 June 2023 13:27:33(UTC)
fakemoses


Rank: Member

Groups: Registered
Joined: 10/04/2023(UTC)
Posts: 22
Germany

Was thanked: 15 time(s) in 7 post(s)
Hello Everyone,

I'm currently maintaining the Maxima Plugin and I'd love to get your feedback. I want to know what features you'd like to see implemented. If you have any cool ideas, please share them with me.

Also, if you've encountered any undiscovered pesky bugs while using the Maxima Plugin, I'd appreciate it if you could report them to me. Please visit the bug report page at https://en.smath.com/bts...eList.aspx?pid=2&c=8 (put the tag [Maxima] on the bug title). Your bug reports will help me fix any issues promptly.

Your input is invaluable in improving the Maxima Plugin. Thank you for your support!

Regards,
thanks 2 users thanked fakemoses for this useful post.
on 16/06/2023(UTC),  on 16/06/2023(UTC)

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

Offline Razonar  
#2 Posted : 16 June 2023 18:10:05(UTC)
Razonar


Rank: Advanced Member

Groups: Registered
Joined: 28/08/2014(UTC)
Posts: 1,481
Uruguay

Was thanked: 936 time(s) in 592 post(s)
Hi. I remember that for license reasons maxima cannot be distributed together with the plugin. The manual installation of maxima is usually the most difficult for new users. However, I think that an alternative way of doing an automatic installation in a specific directory within the directory structure of SMath plugins can be explored, independent of the plugin and that does not violate the way in which maxima allows it to be distributed, since it would only be a script to download a file from the internet and pass a couple of parameters to an executable, such as -silent -folder.

The most basic way would be to provide the necessary text to copy and paste in a command window, which I assume would only consist of two lines: one to download the installation file from the internet, and another to execute the installation file with the corresponding parameters. These texts could be implemented as plugin functions.

Finally, the plugin could check if there is a maxima distribution installed in the folder from the previous procedure, and if not, proceed as it does so far.

Best regards.
Alvaro.
thanks 1 user thanked Razonar for this useful post.
on 16/06/2023(UTC)
Offline uni  
#3 Posted : 16 June 2023 19:20:03(UTC)
uni


Rank: Advanced Member

Groups: Registered, Advanced Member
Joined: 10/11/2010(UTC)
Posts: 1,623
Man
Russian Federation

Was thanked: 1385 time(s) in 808 post(s)
For manual installation, I recommend using the scoop package manager. The Maxima installation package is present there, so the entire installation consists of a few lines in the Power shell console (Windows).
Russia ☭ forever (git.io/vOZo0)
Viacheslav N. Mezentsev
thanks 1 user thanked uni for this useful post.
on 16/06/2023(UTC)
Offline Razonar  
#4 Posted : 16 June 2023 19:53:29(UTC)
Razonar


Rank: Advanced Member

Groups: Registered
Joined: 28/08/2014(UTC)
Posts: 1,481
Uruguay

Was thanked: 936 time(s) in 592 post(s)
Hi Viacheslav. That could be an option, but I'm thinking in concise instructions using very basic system tools. For example, this is for download the last 32 bit maxima installation:

1. Open a windows command windows as administrator.
2. Go to some temporary directory
3. Execute this line

Code:
powershell Invoke-WebRequest -OutFile InstallMaxima.exe https://sitsa.dl.sourceforge.net/project/maxima/Maxima-Windows/5.47.0-Windows/maxima-5.47.0-win32.exe 


max.png

4. Then silent install maxima in AppData\Roaming\SMath\extensions\plugins\MaximaDistribution with this

... etc

Best regards.
Alvaro.

Edited by user 16 June 2023 19:56:06(UTC)  | Reason: Not specified

Offline uni  
#5 Posted : 16 June 2023 20:03:50(UTC)
uni


Rank: Advanced Member

Groups: Registered, Advanced Member
Joined: 10/11/2010(UTC)
Posts: 1,623
Man
Russian Federation

Was thanked: 1385 time(s) in 808 post(s)
The package manager allows you to install, update and remove any package with a couple of commands. You don't have to think about how it is located on the disk. Indeed, the path to it must be written to the Path environment variable.

I didn't use this plugin myself because I was too lazy to install the Maxima. I had the same problem with the Maple plugin, but then I managed to solve it by embedding the program directly into the plugin.

Edited by user 16 June 2023 20:07:57(UTC)  | Reason: Not specified

Russia ☭ forever (git.io/vOZo0)
Viacheslav N. Mezentsev
Offline Razonar  
#6 Posted : 16 June 2023 20:25:10(UTC)
Razonar


Rank: Advanced Member

Groups: Registered
Joined: 28/08/2014(UTC)
Posts: 1,481
Uruguay

Was thanked: 936 time(s) in 592 post(s)
Originally Posted by: uni Go to Quoted Post
... I didn't use this plugin myself because I was too lazy to install the Maxima. ...


That's my point! Don't feel bad: you're not alone! I have install Maxima for SMath only once at an old 32 bit system, and never more. And I know users that they gave up using it after a couple of failed attempts to install and/or configure the plugin.

I don't know which could be the better option, probably it is scoop package manager, but I vote for the one that requires fewer clicks from the moment the maxima plugin is installed and can be executed in SMath. And with a series of clear instructions, always the same, that do not include things like "find a maxima distribution that you like and install it on your own", that is, that it includes direct links to the maxima downloads and allows you to copy and paste the instructions.

Also must include the automatic update of maxima.xml file under SMath plugins directory.

This code can download windows 32 bits current version, silent install and open Maxima.xml configuration file. Just copy and paste it into a cmd command window.

Code:
 rem @Echo OFF
C:
cd %AppData%\SMath\extensions\plugins\44011c1e-5d0d-4533-8e68-e32b5badce41
powershell Invoke-WebRequest -OutFile InstallMaxima.exe https://sitsa.dl.sourceforge.net/project/maxima/Maxima-Windows/5.47.0-Windows/maxima-5.47.0-win32.exe
InstallMaxima.exe /S /D=%AppData%\SMath\extensions\plugins\44011c1e-5d0d-4533-8e68-e32b5badce41\MaximaDistribution
@Echo OFF
echo *********************************************
echo .
echo  Modify <PathToMaxima.bat> with this value:
echo .
echo  %AppData%\SMath\extensions\plugins\44011c1e-5d0d-4533-8e68-e32b5badce41\MaximaDistribution\bin\maxima.bat
echo .
echo *********************************************
notepad maxima.xml
rem Exit /B 0 


But the file maxima.xml could be update from the command line too, and with that the automation of the maxima installation process is complete.

Best regards.
Alvaro.

Edited by user 16 June 2023 21:19:17(UTC)  | Reason: Code added

Offline mkraska  
#7 Posted : 17 June 2023 12:12:54(UTC)
mkraska


Rank: Advanced Member

Groups: Registered
Joined: 15/04/2012(UTC)
Posts: 2,037
Germany

Was thanked: 1169 time(s) in 748 post(s)
Interesting discussion. Thank you for the hints on how to do the installation process. Also thank you for the support, that the topic owner has already received from the community. I am very optimistic, that we get the plugin to a new level.

To see it from the GUI side:

- when installing the plugin (either from extension manager or by opening a document requiring the plugin), there should be an automatic check for availability of Maxima.
- If no Maxima is detected, then the user should be offered to install it (with a proper warning on space requirements).
- The menu item "Settings" should provide access to maxima upgrade or de-installation

It would be optimal to have a pre-compiled maxima kernel to be integrated in the plugin. This might raise license issues but would be an option for those who don't care (it seems to me that the maple plugin neither is safe in that aspect).

Alternatively, the plugin could compile the maxima kernel on it's own and use the resulting exe for faster startup. That should not raise license issues as long as the exe isn't re-distributed.

This could reduce the space requirements to a fraction of a full blown Maxima installation (no handbooks, only selected packages etc). Yet this approach would increase the maintenance workload for the plugin. At the moment I am really happy that I don't have to care about it. In the early days, we had to modify maxima.bat, which was an annoying extra step in rolling out portable versions.

My experience is that many students just ignore the hint to using the preconfigured portable version but just google SMath Studio, find the installer and complain about lack of plugins.

So the Maxima plugin should guide the user to a ready-to-work config.

Making the plugin work under linux would also be valuable, especially under Astra Linux.

There is another idea for streamlining: Making menu entries for Maxima settings commands.

- CAS takeover: opens a dialog with check buttons for takeover of diff, int, sum, det, lim and a button to insert the appropriate command to the canvas.
- Restart: Buttons to 1. actually perform a restart and 2. to insert the command to the canvas
- Help: curated list of links to maxima ressources (getting started, reference, launching wxmaxima)

As to editing maxima.xml: That should not be required at all, even in the current state of the plugin. The only intended use is to experiment with custom translations and commands. Yet, this is discouraged for production use because it will corrupt the portability of SMath documents.









Martin Kraska

Pre-configured portable distribution of SMath Studio: https://smath.com/wiki/SMath_with_Plugins.ashx
thanks 2 users thanked mkraska for this useful post.
on 17/06/2023(UTC),  on 17/06/2023(UTC)
Offline Razonar  
#8 Posted : 17 June 2023 21:14:35(UTC)
Razonar


Rank: Advanced Member

Groups: Registered
Joined: 28/08/2014(UTC)
Posts: 1,481
Uruguay

Was thanked: 936 time(s) in 592 post(s)
Hi Martin.

Originally Posted by: mkraska Go to Quoted Post
... So the Maxima plugin should guide the user to a ready-to-work config. ...


Yo can get that without having distribution licensing troubles, providing an editable text for download and silent installing Maxima because then those are the final user actions and not SMath, which would act as a software and update installation manager, such as the scoop package manager mentioned by Viacheslav. That's what I try to show with the above code. And you don't redistribute the software, you download it from the official repository, after an OK from the user, with disk space warnings, that's very good.

Originally Posted by: mkraska Go to Quoted Post
... As to editing maxima.xml: That should not be required at all, even in the current state of the plugin. The only intended use is to experiment with custom translations and commands. Yet, this is discouraged for production use because it will corrupt the portability of SMath documents.


Yes, yes. I agree, bad idea using notepad for update maxima.xml. I just want to show that the complete automation with some few clicking for a ready to use Maxima setup, and don't take the time for update it from the command line. If I'm not wrong, you have also the maxima.bat path under HKEY_CURRENT_USER\SOFTWARE\wxMaxima\maxima in the windows registry.

Originally Posted by: mkraska Go to Quoted Post
... Alternatively, the plugin could compile the maxima kernel on it's own and use the resulting exe for faster startup. That should not raise license issues as long as the exe isn't re-distributed.

This could reduce the space requirements to a fraction of a full blown Maxima installation (no handbooks, only selected packages etc).


You can avoid both troubles, licencie distribution and disk space given to the user the command for download and an option menu selecting the features installed. /S is for silent installation, /D is for installation directory and there are other for help files and those things.

Best regards.
Alvaro.

Edited by user 17 June 2023 21:16:40(UTC)  | Reason: Not specified

Offline fakemoses  
#9 Posted : 19 June 2023 20:18:42(UTC)
fakemoses


Rank: Member

Groups: Registered
Joined: 10/04/2023(UTC)
Posts: 22
Germany

Was thanked: 15 time(s) in 7 post(s)
Thank you for your feedback. I have conducted some research on implementing the Maxima installation. Based on my findings, I have determined that the installation process requires administrative privileges due to Windows UAC. Achieving a silent installation with a single click from a Windows dialog may not be feasible, as most users are unlikely to start SMath as an administrator.

Therefore, I have come out with the following scenario:

-The user installs the plugin and runs the Maxima command.
-The plugin will search for an existing Maxima installation, if available.
-If Maxima is not found, a window dialog will prompt the user to manually search for or download and install Maxima using a provided button.
-Upon clicking the download button, maxima installer will be downloaded, the installation process will commence, and a UAC prompt will appear, requesting the user's administrative rights. The installation process will be manual from this point forward.
-After installation (assuming the user proceeds by clicking "Next" throughout the installation wizard), the Maxima plugin will scan the C:/ drive once again to locate the Maxima bat file.
-This setup minimizes the number of clicks required, and the user will not need to open a browser or any other files solely for the purpose of installing Maxima.

Additionally, obtaining the latest version of Maxima should not be a problem, as it can be accessed via SourceForge. By accessing the URL "https://sourceforge.net/projects/<Project_Name>/best_release.json," you can retrieve the URL for the latest version.

I would like to hear your opinion on this approach. Please let me know if you have any suggestions or if you believe there might be a better solution to address the Maxima installation process. Your input is valuable, and I appreciate any insights you can provide. Biggrin
Offline Razonar  
#10 Posted : 19 June 2023 20:43:56(UTC)
Razonar


Rank: Advanced Member

Groups: Registered
Joined: 28/08/2014(UTC)
Posts: 1,481
Uruguay

Was thanked: 936 time(s) in 592 post(s)
Originally Posted by: fakemoses Go to Quoted Post
... that the installation process requires administrative privileges due to Windows UAC. Achieving a silent installation with a single click from a Windows dialog may not be feasible, as most users are unlikely to start SMath as an administrator.


Hi. If a program needs administrator permissions it can request them. As far as I know, it doesn't have to be SMath, but the Maxima installation manager to do it. For example, Total Commander does it through the Tcadmin.exe program, I don't know if Far manager has that ability.

Clipboard01.png

Best regards.
Alvaro.
Offline fakemoses  
#11 Posted : 20 June 2023 14:47:29(UTC)
fakemoses


Rank: Member

Groups: Registered
Joined: 10/04/2023(UTC)
Posts: 22
Germany

Was thanked: 15 time(s) in 7 post(s)
Originally Posted by: Razonar Go to Quoted Post
If a program needs administrator permissions it can request them. As far as I know, it doesn't have to be SMath, but the Maxima installation manager to do it


Thank you for the idea. I think I have successfully implemented silent installation by creating a PowerShell instance that runs the installation and subsequently requests administrative permissions. But for now I did it on a dummy program. I will implement it on maxima plugin soon.

Regards,

Muiz
thanks 1 user thanked fakemoses for this useful post.
on 21/06/2023(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.