Ticket #1086 (closed enhancement: fixed)

Opened 7 years ago

Last modified 6 years ago

Seash should allow plug-in modules...

Reported by: justinc Owned by: leonwlaw
Priority: major Milestone:
Component: seash Version: 0.1t
Severity: Medium Keywords:
Cc: justinc Blocking:
Blocked By:

Description

Seash should allow modules to extend it. This would do things like support geoip lookups, selexor integration, controlling GENI resources, etc.

Change History

  Changed 7 years ago by leonwlaw

  • status changed from new to accepted

  Changed 7 years ago by leonwlaw

Modules will be contained in a modules folder in the seash directory. The module importer will look in this folder for files that end in '_module.py' and import these modules. If there are any command collisions during the import process, the import process for the module that is being imported will terminate, and the importer will move on to the next module. Within these module files, there must be a command dictionary defined in the same manner as documented in seash_dictionary.py.

Some additional specs will be made optional in a command definition:

  • command summary text
  • what level of help to display the command at. e.g. show on default, show when the user specifies extended help, etc.

  Changed 7 years ago by justinc

This sounds good.

Would you create a wiki page that describes how to create modules like this? In other words, what does a hello-world module look like? How does one hook-in to do more complicated commands?

It's possible you've already done this somewhere else. It's fine if you already have this in another format, but it should be simple and understandable.

follow-up: ↓ 5   Changed 7 years ago by leonwlaw

Sure. I can't seem to find a dedicated page for seash on the wiki. Should I go ahead and create that as well, then link to the module importer wiki from there?

in reply to: ↑ 4   Changed 7 years ago by justinc

Replying to leonwlaw:

Sure. I can't seem to find a dedicated page for seash on the wiki. Should I go ahead and create that as well, then link to the module importer wiki from there?

Yes, this seems like a good idea.

  Changed 7 years ago by leonwlaw

The wiki page has been created. I decided to put the two pages together as a single unit for the time being, as it is, it seemed to make more sense since the repy tutorial covered a lot on how to use seash.

The current wikipage for seash is as follows. I will link the portal pages to it once the changes are made live.

 https://seattle.cs.washington.edu/wiki/seash

  Changed 6 years ago by leonwlaw

  • status changed from accepted to closed
  • resolution set to fixed

The module system is now live with r6242! Closing.

Note: See TracTickets for help on using tickets.