Emerald Editor Discussion
March 27, 2017, 05:38:07 am *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News:
 
   Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: Getting new syntaxes  (Read 8689 times)
0 Members and 1 Guest are viewing this topic.
Arantor
Site Administrator
Administrator
Master Jeweller
*****
Posts: 618



« on: January 16, 2007, 07:32:53 am »

While the subject of syntaxes is nice and popular, I have a few questions on how we want to manage EE getting the syntax files.

For those who wonder how CE did it, the syntaxes themselves were posted on the forum as forum posts, so presumably you're then meant to copy them into a new file (with CE? Wink) and save it in the appropriate place. While this is nice is as much as the syntax is really open to Joe Public, it has a major downside in that it is a whole extra step for the users.

I'd really like to see some kind of interface in the program itself where you can browse the syntax repository (I'll work something out on the site itself so you can browse and download as part of the website itself anyway), so if you have EE open with a file whose format you know but you don't have the syntax installed, you can browse through to the repository and download it - and install it there and then. I think that would be really cool, plus it means that you get the syntaxes you need, as you need them.


Another idea I had, possibly controversially so, is one where the website helps. Basically, imagine you have a file but you're not sure what syntax it uses - even if it is human readable. You could in theory submit a chunk of the file to the EE server, which could then try and work out which format it is and then present you with possible syntaxes.

Of course, this brings in all sorts of issues, such as needing to send part of the file! The physical transporting is easy enough (simple HTTP POST request) but you have the issue of sending off blocks of possibly sensitive information across the Internet.

I thought I'd suggest it and see what people thought, though, because it could be really cool. IMHO, you'd only need to send 1-2K of file to make a decent guess at its content.
Logged

"Cleverly disguised as a responsible adult!"
Szandor
Senior Miner
***
Posts: 92



« Reply #1 on: January 16, 2007, 07:35:13 pm »

I'd really like to see some kind of interface in the program itself where you can browse the syntax repository (I'll work something out on the site itself so you can browse and download as part of the website itself anyway), so if you have EE open with a file whose format you know but you don't have the syntax installed, you can browse through to the repository and download it - and install it there and then. I think that would be really cool, plus it means that you get the syntaxes you need, as you need them.
I think this should be true for all plugins. A download manager for syntaxes, plugins and even updates/new versions would be great. Easy access to all the goodies, right in the program they were meant for. We could even make a small HTML interface by using a small mozilla engine. Same content, same websites, different CSS. The only thing we need then is for EE to know that when clicking a link to a plugin or SDD it should install it.

Basically, imagine you have a file but you're not sure what syntax it uses - even if it is human readable. You could in theory submit a chunk of the file to the EE server, which could then try and work out which format it is and then present you with possible syntaxes.
Sounds like a great tool, not only for code you can't recognize but also for code you don't have the SDD for but don't want to browse for. Send the code, get the SDD automagically. Also, while this would probably take some time it wouldn't be a problem since people would be prepared to wait a short while for it.

If you're concerned about privacy, why not make it into a plugin instead? The code is analyzed client-side and the only connection made is the one to download the correct syntax. This way, the plugin could also be used to automagically select correct SDD when opening a file.
Logged

"Cleverly disguised as an original signature..."
Arantor
Site Administrator
Administrator
Master Jeweller
*****
Posts: 618



« Reply #2 on: January 16, 2007, 09:11:11 pm »

I think this should be true for all plugins. A download manager for syntaxes, plugins and even updates/new versions would be great. Easy access to all the goodies, right in the program they were meant for. We could even make a small HTML interface by using a small mozilla engine. Same content, same websites, different CSS. The only thing we need then is for EE to know that when clicking a link to a plugin or SDD it should install it.
I hadn't originally figured on it being so widespread in its usage, but I think this would be a great feature. Not so sure about the Mozilla engine, though. I was thinking about having a dedicated XML parser (or something) in to interpret the raw output generated from the server, reducing the embedded components in EE.

Sounds like a great tool, not only for code you can't recognize but also for code you don't have the SDD for but don't want to browse for. Send the code, get the SDD automagically. Also, while this would probably take some time it wouldn't be a problem since people would be prepared to wait a short while for it.
Well, it's two tools really (although in a sense one does overlap over the other), but it is something I'd really push to have included, at least in browsable form.

If you're concerned about privacy, why not make it into a plugin instead? The code is analyzed client-side and the only connection made is the one to download the correct syntax. This way, the plugin could also be used to automagically select correct SDD when opening a file.
Well, the thing is, the plugin would be huge, since it would be analysing code against known profiles, and would be updated with new syntaxes every so often, the result is that the server would be able to make a reasonable guess based on all syntaxes available to it, not just the few that people decide to install.

I'm still not sure exactly how it would work, but I can't see any practical way of analysing it on the client side without knowing every syntax EE has available. As this could potentially run into the thousands it would be a massive plugin.

I would suggest some kind of encryption but since the code is open source, whatever we do will be visible and therefore tappable (OpenSSL is, at last count, an optional library for SFTP support purposes, not a required build-in)

Is the server-side file type detection worth considering, though? I think it's a good idea, but I am a bit biased Wink

I can always try rigging up a miniversion and see how well that works out with file type detection.
Logged

"Cleverly disguised as a responsible adult!"
einst3
Prospector
*
Posts: 2


« Reply #3 on: September 26, 2007, 04:00:28 pm »

I think you should look at the development from the delivery side. Having a plugin to retrieve a list of available scripts and latest release dates. Have a plugin to select and download individual scripts, ie. java, wrl, html, etc.. Now the hard part, i think each script for each language needs a version file, say you need the java 1.3 definitions and not the latest ver.. have a file for each version and a main java file to link say version 1.3, 1.4, 1.5, 1.6 for the current lookups. you could have the plugin specify which version controls the main java file for that user. then make options for basic users (update to latest scripts and keep the past 2/3 versions active), advanced users can choose which subversions they want for that language.
hows that?
Logged
einst3
Prospector
*
Posts: 2


« Reply #4 on: September 26, 2007, 04:08:36 pm »

oops also have the version have a date of release so you know when the 1.3 was released seperate from the 1.4 =)
Logged
Pvt_Ryan
Master Jeweller
******
Posts: 422



WWW
« Reply #5 on: September 26, 2007, 04:32:48 pm »

An easier way to munge this would be to keep a list of md5 hashs of all the files and on change just assume the server has the latest version.

Then allow a user an exclude list so any changes to a syntax file that they make they can prevent it from being updated from the server.
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2013, Simple Machines Valid XHTML 1.0! Valid CSS!
Page created in 0.12 seconds with 18 queries.