<style>
/* Changing the layout to use less space for mobiles */
@media screen and (max-device-width: 480px), screen and (-webkit-min-device-pixel-ratio: 2) {
    #email-body { min-width: 30em !important; }
    #email-page { padding: 8px !important; }
    #email-banner { padding: 8px 8px 0 8px !important; }
    #email-avatar { margin: 1px 8px 8px 0 !important; padding: 0 !important; }
    #email-fields { padding: 0 8px 8px 8px !important; }
    #email-gutter { width: 0 !important; }
}
</style>
<div id="email-body">
<table id="email-wrap" align="center" border="0" cellpadding="0" cellspacing="0" style="background-color:#f0f0f0;color:#000000;width:100%;">
    <tr valign="top">
        <td id="email-page" style="padding:16px !important;">
            <table align="center" border="0" cellpadding="0" cellspacing="0" style="background-color:#ffffff;border:1px solid #bbbbbb;color:#000000;width:100%;">
                <tr valign="top">
                    <td bgcolor="#ffffff" style="background-color:#ffffff;color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;line-height:1;"><img src="https://shibboleth.net/images/shib_240x83.png" alt="" style="vertical-align:top;" /></td>
                </tr><tr valign="top">
    <td id="email-banner" style="padding:32px 32px 0 32px;">

                
        
        
            <table align="left" border="0" cellpadding="0" cellspacing="0" width="100%" style="width:100%;">
    <tr valign="top">
        <td style="color:#505050;font-family:Arial,FreeSans,Helvetica,sans-serif;padding:0;">
                                        <img id="email-avatar" src="https://issues.shibboleth.net/jira/secure/useravatar?ownerId=rdw%40iay.org.uk&avatarId=10124" alt="" height="48" width="48" border="0" align="left" style="padding:0;margin: 0 16px 16px 0;" />
                        <div id="email-action" style="padding: 0 0 8px 0;font-size:12px;line-height:18px;">
                                    <a class="user-hover" rel="rdw@iay.org.uk" id="email_rdw@iay.org.uk" href="https://issues.shibboleth.net/jira/secure/ViewProfile.jspa?name=rdw%40iay.org.uk" style="color:#326ca6;">Rod Widdowson</a>
     commented on <img src="https://issues.shibboleth.net/jira/images/icons/issue_subtask.gif" height="16" width="16" border="0" align="absmiddle" alt="Sub-task"> <a style='color:#326ca6;text-decoration:none;' href='https://issues.shibboleth.net/jira/browse/IDP-206'>IDP-206</a>
            </div>
                        <div id="email-summary" style="font-size:16px;line-height:20px;padding:2px 0 16px 0;">
                <a style='color:#326ca6;text-decoration:none;' href='https://issues.shibboleth.net/jira/browse/IDP-206'><strong>Conversion tools for upgrading IdPv2 configuration</strong></a>
            </div>
                    </td>
    </tr>
</table>
    </td>
</tr>
<tr valign="top">
    <td id="email-fields" style="padding:0 32px 32px 32px;">
        <table border="0" cellpadding="0" cellspacing="0" style="padding:0;text-align:left;width:100%;" width="100%">
            <tr valign="top">
                <td id="email-gutter" style="width:64px;white-space:nowrap;"></td>
                <td>
                    <table border="0" cellpadding="0" cellspacing="0" width="100%">
                        <tr valign="top">
    <td colspan="2" style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 0 16px 0;width:100%;">
        <div class="comment-block" style="background-color:#edf5ff;border:1px solid #dddddd;color:#000000;padding:12px;"><p>Not only do we need to surface the APIs what may well be used, we also need to provide a mock-up of the infrastructure that is documented for implementing attributes which is to say at <a href="https://wiki.shibboleth.net/confluence/display/SHIB2/ResolverScriptAttributeDefinition" class="external-link">https://wiki.shibboleth.net/confluence/display/SHIB2/ResolverScriptAttributeDefinition</a></p>

<p>To whit:</p>

<p>" A variable whose name is the ID of the attribute definition. An instance of edu.internet2.middleware.shibboleth.common.attribute.BaseAttribute must be created, populated, and assigned to this variable in order to expose the result of this script."</p>

<p>The mechanism which appeals to me most is to accept a certain amount of configuration changes:</p>

<ul class="alternate" type="square">
        <li>add a new attribute to the xsi:type="Script" definition and called "v2Environment".  This allows us to spot this in the java and do any required pre or post operations.  Examples might be populating the legacy interfaces or post processing to get real attributes out.</li>
        <li>Require that people replace<br/>
     importPackage(Packages.edu.internet2.middleware.shibboleth.common.attribute.provider);<br/>
  with <br/>
      importPackage(Packages.net.shibboleth.idp.attribute.resolver.api.legacy);<br/>
  which will provide the BaseAttribute, ScopedAttributeValue and possible BasicAttribute.</li>
</ul>


<ul class="alternate" type="square">
        <li>All API entry points in the V3 code will be provided and we can initially tie them off with a log.error("not supported").  Apart from the three mentioned above the supported APIs are:<br/>
    o BaseSAMLProfileRequestContext<br/>
    o ProfileRequestContext<br/>
    o AttributeRequestContext<br/>
    o SAMLMessageContext<br/>
    o MessageContext</li>
</ul>


<p>It may be that once we have implemented this we can remove the need for the "v2Environment" attribute and do the work automatically.  We'll see.</p>

<p>An alternative approach is to get inside the JSR-223 API and see what we can do about intercepting the language calls that may be made.  This feels (to me) like a large investment in learning a space (JSR-223) which we probably do not need to do.  But I can be persuaded.</p>
</div>
        <div style="color:#505050;padding:4px 0 0 0;">                </div>
    </td>
</tr>
                    </table>
                </td>
            </tr>
        </table>
    </td>
</tr>













            </table>
        </td><!-- End #email-page -->
    </tr>
    <tr valign="top">
        <td style="color:#505050;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:10px;line-height:14px;padding: 0 16px 16px 16px;text-align:center;">
            This message is automatically generated by JIRA.<br />
            If you think it was sent incorrectly, please contact your JIRA administrators<br />
            For more information on JIRA, see: <a style='color:#326ca6;' href='http://www.atlassian.com/software/jira'>http://www.atlassian.com/software/jira</a>
        </td>
    </tr>
</table><!-- End #email-wrap -->
</div><!-- End #email-body -->