[jira] Commented: (CONNECTORS-40) Classloader-based plug-in architecture would permit LCF to be prebuilt

2010-07-01 Thread Karl Wright (JIRA)

[ 
https://issues.apache.org/jira/browse/CONNECTORS-40?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12884285#action_12884285
 ] 

Karl Wright commented on CONNECTORS-40:
---

Classloader has bee added, and the configuration file format is now XML.  The 
wiki connector description pages have been updated.  Next:

 - Change the build process and connector delivery model to take advantage of 
the classloader
 - Change the build process wiki document to reflect all changes


 Classloader-based plug-in architecture would permit LCF to be prebuilt
 --

 Key: CONNECTORS-40
 URL: https://issues.apache.org/jira/browse/CONNECTORS-40
 Project: Lucene Connector Framework
  Issue Type: Improvement
  Components: Framework core
Reporter: Karl Wright
Assignee: Karl Wright

 The LCF architecture at this point requires interaction with the build script 
 in order to add connectors.  This is because the connector JSPs and jars need 
 to be added to the appropriate war files.  However, there is another 
 architectural option that would eliminate this need, which is to use a custom 
 classloader to pull components from jars that are placed in a specific 
 directory or directories.
 In order for this to work, however, the UI components of every connector must 
 become part of a jar.  That implies that they will need to cease being JSPs, 
 and become instead methods of each connector class.  (There is no 
 proscription against using something like Velocity for assembling the 
 necessary output for a connector, however.)  Limiting the 
 backwards-compatibility impact of this change will be difficult, especially 
 after a first release is made, so it seems clear that any change along these 
 lines should be attempted before version 1.0 is released.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (CONNECTORS-40) Classloader-based plug-in architecture would permit LCF to be prebuilt

2010-06-29 Thread Karl Wright (JIRA)

[ 
https://issues.apache.org/jira/browse/CONNECTORS-40?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12883595#action_12883595
 ] 

Karl Wright commented on CONNECTORS-40:
---

The UI changes have been made, largely hand-tested, and merged into trunk.  
Next steps for this ticket include:

- Updating the wiki page on how to build a connector
- Writing the classloader implementation that will actually allow for plugin 
loading


 Classloader-based plug-in architecture would permit LCF to be prebuilt
 --

 Key: CONNECTORS-40
 URL: https://issues.apache.org/jira/browse/CONNECTORS-40
 Project: Lucene Connector Framework
  Issue Type: Improvement
  Components: Framework core
Reporter: Karl Wright

 The LCF architecture at this point requires interaction with the build script 
 in order to add connectors.  This is because the connector JSPs and jars need 
 to be added to the appropriate war files.  However, there is another 
 architectural option that would eliminate this need, which is to use a custom 
 classloader to pull components from jars that are placed in a specific 
 directory or directories.
 In order for this to work, however, the UI components of every connector must 
 become part of a jar.  That implies that they will need to cease being JSPs, 
 and become instead methods of each connector class.  (There is no 
 proscription against using something like Velocity for assembling the 
 necessary output for a connector, however.)  Limiting the 
 backwards-compatibility impact of this change will be difficult, especially 
 after a first release is made, so it seems clear that any change along these 
 lines should be attempted before version 1.0 is released.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (CONNECTORS-40) Classloader-based plug-in architecture would permit LCF to be prebuilt

2010-06-15 Thread Mark Miller (JIRA)

[ 
https://issues.apache.org/jira/browse/CONNECTORS-40?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12879178#action_12879178
 ] 

Mark Miller commented on CONNECTORS-40:
---

From 
http://search.lucidimagination.com/search/document/760aeaa785116e3b/beginning_of_connectors_40_work
 :

Hi all (and especially Eric),

I began work on CONNECTORS-40 in the agreed-upon branch.  So far, I've checked 
in the modifications needed to pull output connector UI out of JSP, and also 
did the conversion of the gts output connector from JSP.  This looks reasonably 
good to me, other than the somewhat-more-obtuse syntax required to represent 
HTML from within the java connector classes.  But it would be good to hear any 
comments before I go further in the conversion process.

Thanks,
Karl

Mark: you can find a link to the diffs ref'd here: 
http://mail-archives.apache.org/mod_mbox/incubator-connectors-commits/201006.mbox/%3c20100615191345.6a2072388...@eris.apache.org%3e

 Classloader-based plug-in architecture would permit LCF to be prebuilt
 --

 Key: CONNECTORS-40
 URL: https://issues.apache.org/jira/browse/CONNECTORS-40
 Project: Lucene Connector Framework
  Issue Type: Improvement
  Components: Framework core
Reporter: Karl Wright

 The LCF architecture at this point requires interaction with the build script 
 in order to add connectors.  This is because the connector JSPs and jars need 
 to be added to the appropriate war files.  However, there is another 
 architectural option that would eliminate this need, which is to use a custom 
 classloader to pull components from jars that are placed in a specific 
 directory or directories.
 In order for this to work, however, the UI components of every connector must 
 become part of a jar.  That implies that they will need to cease being JSPs, 
 and become instead methods of each connector class.  (There is no 
 proscription against using something like Velocity for assembling the 
 necessary output for a connector, however.)  Limiting the 
 backwards-compatibility impact of this change will be difficult, especially 
 after a first release is made, so it seems clear that any change along these 
 lines should be attempted before version 1.0 is released.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (CONNECTORS-40) Classloader-based plug-in architecture would permit LCF to be prebuilt

2010-06-15 Thread Erik Hatcher (JIRA)

[ 
https://issues.apache.org/jira/browse/CONNECTORS-40?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12879193#action_12879193
 ] 

Erik Hatcher commented on CONNECTORS-40:


At first glance, this looks like a great first step towards ridding LCF of JSPs.

 Classloader-based plug-in architecture would permit LCF to be prebuilt
 --

 Key: CONNECTORS-40
 URL: https://issues.apache.org/jira/browse/CONNECTORS-40
 Project: Lucene Connector Framework
  Issue Type: Improvement
  Components: Framework core
Reporter: Karl Wright

 The LCF architecture at this point requires interaction with the build script 
 in order to add connectors.  This is because the connector JSPs and jars need 
 to be added to the appropriate war files.  However, there is another 
 architectural option that would eliminate this need, which is to use a custom 
 classloader to pull components from jars that are placed in a specific 
 directory or directories.
 In order for this to work, however, the UI components of every connector must 
 become part of a jar.  That implies that they will need to cease being JSPs, 
 and become instead methods of each connector class.  (There is no 
 proscription against using something like Velocity for assembling the 
 necessary output for a connector, however.)  Limiting the 
 backwards-compatibility impact of this change will be difficult, especially 
 after a first release is made, so it seems clear that any change along these 
 lines should be attempted before version 1.0 is released.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (CONNECTORS-40) Classloader-based plug-in architecture would permit LCF to be prebuilt

2010-06-15 Thread Karl Wright (JIRA)

[ 
https://issues.apache.org/jira/browse/CONNECTORS-40?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12879215#action_12879215
 ] 

Karl Wright commented on CONNECTORS-40:
---

The implementation strategy is as follows:

(1) Add methods to the connector interfaces to support the UI.  These 
correspond directly to the chunks of UI contributed by each connector that used 
to be performed by jsps, which used to be located by a naming technique.  
(Every connector had a family of jsps, e.g. 
output/connector_name/headerconfig.jsp, 
output/connector_name/editconfig.jsp, etc.)  To do this in a way that will 
make it possible to easily replace the technology for the framework side of the 
UI later, I also introduced some interfaces so that there are no direct 
references to any JSP or servlet classes.

(2) Change the framework UI to call the connector methods rather than the old 
jsp components.

(3) Change all individual connectors to discard their JSPs and instead 
implement the connector methods.

Once this preliminary work is done, it should be possible to write a class 
loader to allow a user (or an installer) to specify a set of paths in which to 
search for jars.  This would make it possible for people to deliver connectors 
into the system without having to rebuild the war file, which currently is 
necessary.  That, in turn, makes it feasible to prebuild all LCF components and 
deliver it much like Solr is delivered.

The CONNECTORS-40 branch currently contains just the following:
- UI method additions to the output connection interface only;
- Changes to the framework UI code to call the new methods;
- Changes to the GTS output connector to implement the new methods (and remove 
the old JSPs).

The reason this has been checked in at this point is largely as a sanity check. 
 It's a lot easier to change direction when one connector has been done than it 
would be to change 15 of them.

Hope this helps.



 Classloader-based plug-in architecture would permit LCF to be prebuilt
 --

 Key: CONNECTORS-40
 URL: https://issues.apache.org/jira/browse/CONNECTORS-40
 Project: Lucene Connector Framework
  Issue Type: Improvement
  Components: Framework core
Reporter: Karl Wright

 The LCF architecture at this point requires interaction with the build script 
 in order to add connectors.  This is because the connector JSPs and jars need 
 to be added to the appropriate war files.  However, there is another 
 architectural option that would eliminate this need, which is to use a custom 
 classloader to pull components from jars that are placed in a specific 
 directory or directories.
 In order for this to work, however, the UI components of every connector must 
 become part of a jar.  That implies that they will need to cease being JSPs, 
 and become instead methods of each connector class.  (There is no 
 proscription against using something like Velocity for assembling the 
 necessary output for a connector, however.)  Limiting the 
 backwards-compatibility impact of this change will be difficult, especially 
 after a first release is made, so it seems clear that any change along these 
 lines should be attempted before version 1.0 is released.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.