473,795 Members | 2,554 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Kross - Start of a Unified Scripting Approach

RM
This is from the new KOffice Announcement.

http://www.koffice.org/announcements/announce-1.5.php

'''This version of KOffice features a start of a unified scripting
solution called Kross. Kross provides cross-language support for
scripting (thus its name) and at present supports Python and Ruby.

Kross is easy to include into programs previously lacking scripting
abilities, and is included in this version as a technology preview. So
far, only Krita and Kexi are improved by means of the Kross engine.We
would also like to point out that the API might change in the future
and expect Kross to be fully integrated into KOffice version 2.0.'''

Interesting isn't it?

Apr 12 '06 #1
6 7204
RM <ny**********@y ahoo.com> wrote:
This is from the new KOffice Announcement.

http://www.koffice.org/announcements/announce-1.5.php

'''This version of KOffice features a start of a unified scripting
solution called Kross. Kross provides cross-language support for
scripting (thus its name) and at present supports Python and Ruby.

Kross is easy to include into programs previously lacking scripting
abilities, and is included in this version as a technology preview. So
far, only Krita and Kexi are improved by means of the Kross engine.We
would also like to point out that the API might change in the future
and expect Kross to be fully integrated into KOffice version 2.0.'''

Interesting isn't it?


An absolutely exellent idea. Most of the potential issues are with the
details (that's where the devil is, right?-)... can't check it out right
now (vacationing in the Grand Canyon, very occasional net access), but
I plan to do so when I'm back home next week!
Alex
Apr 14 '06 #2
So, this would be like .Net or Mono, but for KOffice? Kind of like
AppleScript then?

Sorry, just starting to learn about some of this stuff (CLI, CLR, CIL,
etc...) and am interested in understanding better.

Apr 14 '06 #3
has
Jerry wrote:
Kind of like AppleScript then?
Same fundamental goal, i.e. language-independent application scripting.
They seem to have a similar sort of approach to decoupling a scripting
language from its host application (Kross::API::Sc riptManager vs. the
Open Scripting Architecture API) but a very different approach to the
intercommunicat ion part.

Kross appears to create native language wrappers for the application's
public (C++) classes; nothing fancy, but pretty straightforward . Mac
apps use serialised procedure calls containing first-class queries and
other arguments to describe the action to perform and the application
object(s) to use in that action. A query engine in the application
framework (e.g. Cocoa Scripting) locates the actual object(s) and
applies the appropriate action to them. Much higher level of
abstraction and a lot more sophisticated, though it can be a bit tricky
for application developers to implement (for the same reason).

Plus I get the impression that Kross doesn't do interprocess yet
although it's on the cards, presumably using something like proxy
objects and dbus to provide the bridge. With Macs you only need OSA for
intraprocess communication; the Apple Event Manager, which handles the
messaging part, can pass messages between processes as well.
Sorry, just starting to learn about some of this stuff (CLI, CLR, CIL,
etc...) and am interested in understanding better.


As far as how the Mac does it, here's an old but good paper on the
basic principles involved if you want to know more:

http://www.cs.utexas.edu/users/wcook...leScript95.pdf

I couldn't find a nice, simple overview of the Kross system. You should
be able to form a rough impression from reading through the following
links, although some better examples of calling Kexi from scripts would
help:

http://wiki.kde.org/tiki-index.php?page=kross
http://www.kexi-project.org/wiki/wik....php?Scripting
http://www.kexi-project.org/docs/cvs...paceKross.html

HTH

Apr 14 '06 #4
Awesome, thanks for the explaination. It was very informative.

Apr 14 '06 #5
has
Cool. I hope I got the bits about Kross right; I only just found out
about it from seeing your post so haven't been long learning about it
(I'm a sucker for this stuff). Hopefully some nice expert can correct
anything I may've got wrong. :)

BTW, if you're curious about how Python hooks into this stuff on the
Mac, check out the appscript bridge
<http://freespace.virgi n.net/hamish.sanderso n/appscript.html>
(shameless self-link) and PythonOSA language component
<http://homepage.mac.co m/philip_aker/osa/osa.html>.

Appscript uses a lot of syntactic sugar to put a nice easy-to-use
syntax (which looks like OO but isn't) on top of the underlying
RPC+query mechanism; the underlying aem package gives a better idea of
how things actually work. If you don't have a Mac to play with, you
might still find the appscript and aem documentation in the source
distribution
<http://freespace.virgi n.net/hamish.sanderso n/appscript_sourc e.html>
worth reading.

The PythonOSA component provides basic OSA support
(compile/load/store/execute), allowing you to edit and run Python
scripts in Script Editor and other OSA editors and trigger them from
OSA-based application script menus and so on. There is a more advanced
but unfinished MacPythonOSA component on my site that can do message
sending and receiving as well, but it needs a bit of poking to get it
built and working at all. And I've also got an unfinished osawrapper
module that allows you to load and use OSA languages in Python.

HTH

Apr 14 '06 #6
RM 写道:
This is from the new KOffice Announcement.

http://www.koffice.org/announcements/announce-1.5.php

'''This version of KOffice features a start of a unified scripting
solution called Kross. Kross provides cross-language support for
scripting (thus its name) and at present supports Python and Ruby.

Kross is easy to include into programs previously lacking scripting
abilities, and is included in this version as a technology preview. So
far, only Krita and Kexi are improved by means of the Kross engine.We
would also like to point out that the API might change in the future
and expect Kross to be fully integrated into KOffice version 2.0.'''

Interesting isn't it?

Just like the .Net vision , Good idea !
Apr 15 '06 #7

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

3
4223
by: Nick Allen | last post by:
After using ndiff from difflib, the function restore would return the sequence that generated the delta. Unfortunately, restore does not do the same for unified_diff. I do not see any similar function that is intended for unified_diff. Does anyone know how to "restore" from a unified diff generated delta? Thanks for all your help in advance. Best Regards, Nick
14
2811
by: Michele Simionato | last post by:
I would like to know what is available for scripting browsers from Python. For instance, webbrowser.open let me to perform GET requests, but I would like to do POST requests too. I don't want to use urllib to emulate a browser, I am interested in checking that browser X really works as intended with my application. Any suggestion? Michele Simionato
9
1787
by: Code4u | last post by:
I have an application that manipulates large arrays of image data of various types, all the usual arithmetic operations on the data objects are supported. With careful design and tricks similar to those in UBLAS (http://www.boost.org/libs/numeric/ublas/doc/) I have been able to avoid temporaries where appropriate and carefully optimize code (C++) that evaluates expressions, for example Image A, B, C, D, E A=((B+C)/D)+E
3
2081
by: Ashok Kumar K | last post by:
Hi all, Where can I get some insight on using the __hook, __unhook, event_source and event_receiver for specifically COM events. The documentation given in MSDN is very minimal. I have the following scenario Server (COM event source) is written in VC++ 6.0 using ATL (event interfaces can be either dispinterface / IDispatch based) Client (COM event receiver) is written in VC++ 2003 using attributed programming and unified event handling
4
1530
by: Jim Heavey | last post by:
Hello, I am trying to figure out how to do some scripting. Can I script in csharp? Can I script in VBScript if my web page has been developed using csharp? Can I iterate though a datatable object in my script file? How can I reference the datatable object which was created in my code-behind form? Thanks in advance for your assistance!!
6
3256
by: lisa | last post by:
One of the things I hate the most about ASP.NET is the postback of an entire page just to update a single field. So I was looking around, and I came across Remote Scripting. See, when I write ASP pages, I usually have a hidden iframe on the page that I post to. And onload, that hidden page copies the results back up to the parent. I work in an IE only environment, so I can get away with that. And it's nice. Seamless. It's nice...
6
1790
by: JLuis Estrada | last post by:
Is there some class or engine in the .NET framework capable to manage (or run) script code (like VB script) embedded in my app???? Thats because I have an APP that grows very fast, and one of the requeriments its the abilyto to add new processing based in some numbers. (I mean, if I get a 101, then I have to check some tables in a DB, If I get a 102z, then I need to check in some others tables and do some other validation). Due this...
6
2157
by: avh | last post by:
Hi, I'have been looking for a simple scripting (interpreted) language to be run within my ASP.NET pages.Syntax is of minor importance. Although I find many options, all of these seem to first compile the script and then run it and this gives trouble on my shared hosting account on which my ASP.NET 2 runs in medium trust mode. Anyone any idea's ?
84
3976
by: Patient Guy | last post by:
Which is the better approach in working with Javascript? 1. Server side processing: Web server gets form input, runs it into the Javascript module, and PHP collects the output for document prep. 2. Client side processing: Web server gets form input and passes it to PHP which includes the Javascript written in a way to make the form input processed on the client side and rendered (probably using DOM function calls) on that side as...
0
9672
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, well explore What is ONU, What Is Router, ONU & Routers main usage, and What is the difference between ONU and Router. Lets take a closer look ! Part I. Meaning of...
0
9519
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10213
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
10163
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
9040
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development projectplanning, coding, testing, and deploymentwithout human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
7538
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupr who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
6780
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5563
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
4113
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.