<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hi all,<br>
    <br>
    as I promised, hereby I am proposing how the migration should look
    like in the bigger picture.<br>
    I don't say we need all the described parts, but I have a good
    reason to believe we do.<br>
    Details are described in respective Jira issues. The root Jira issue
    is MIGR-229.<br>
    <br>
    See the attached whiteboard photo for an overview. Slightly chaotic,
    as drawn on the fly, and it's not complete anyway. Let's make a
    better one on F2F.<br>
    <br>
    General:<br>
    ======<br>
    <br>
    1) Server rules in it's own ruleset. Probably also in separated git
    repo (as it is now).<br>
    <br>
    2) The ruleset will reuse certain operations from other rulesets:<br>
          XPath query to XML documents, <br>
          .properties parsing, <br>
          possibly decompilation and analysis of classes - e.g. Tomcat
    valves, maybe Spring beans, JMX mBeans (esp. for EAP 4),
    implementations of various interfaces used for EAP 5, etc.<br>
    <br>
    3) The ruleset will provide certain new<br>
           conditions, like CLI parsing, <br>
           and operations, like <br>
               CLI operations export, in a form of <span
      title="WINDUP-565: Rules request: Server: JBoss CLI Conditions and
      Operations"> <a href="https://issues.jboss.org/browse/WINDUP-565"
        data-issue-key="WINDUP-565" class="issue-link link-title">WINDUP-565</a></span><br>
                    CLI commands in the report, with comments,
    highlights of the source it was derived form, links to EAP/WildFly
    docs, etc.;<br>
                    CLI commands script;<br>
                    CLI commands execution against some running server<br>
               Adding a module to EAP 6 target<br>
               Installing a fresh target server  (if handy)<br>
           We can look at Eduardo's <span title="WINDUP-550: Rules
      request: Cover support for mixed-domain transforming to AS &lt;
      7.3.0 (will be removed form WildFly)"><a
        href="https://issues.jboss.org/browse/WINDUP-550"
        data-issue-key="WINDUP-550" class="issue-link link-title">WINDUP-550</a>
      <span class="link-summary"></span></span>to see what we can reuse
    for these.<br>
    <br>
    4) The server ruleset will probably have a bit stronger
    source/target technology split, in terms of respective rules being
    more organized into individual addons. Not sure about this, depends
    on the mechanism we use to enable/disable them.<br>
    <br>
    5) To prevent running the app rules against server files, resp. to
    support running app and server rules together, we need to update the
    queries of some app rules to only focus on appropriate files. <span
      title="WINDUP-564: Let the basic procedures (unzipping, checksums,
      file type) run on multiple input dirs."><a
        href="https://issues.jboss.org/browse/WINDUP-564"
        data-issue-key="WINDUP-564" class="issue-link link-title">WINDUP-564</a>
      and </span><span title="WINDUP-563: The queries for FileModels
      for app scanning needs to limit to given app's files."><a
        href="https://issues.jboss.org/browse/WINDUP-563"
        data-issue-key="WINDUP-563" class="issue-link link-title">WINDUP-563</a>
      .  This is what I would like to work on next. Now working on </span><span
      title="WINDUP-563: The queries for FileModels for app scanning
      needs to limit to given app's files."><a class="issue-link"
        data-issue-key="WINDUP-566"
        href="https://issues.jboss.org/browse/WINDUP-566" id="key-val"
        rel="12569045">WINDUP-566</a> .<br>
      <br>
    </span><br>
    <br>
    Parts:<br>
    ====<br>
    Target technologies:<br>
      So far, we consider EAP 6 as target server. The long-term goal of
    EAP 6 is to cover configuration with CLI. Not sure about current
    state, but it needed some additional actions - direct file
    manipulation (e.g. modules).<br>
      Maybe some other target technologies? Depends on what is Windup
    used for. SOA? Drools? Containers for these might require additional
    configuration.<br>
    <br>
    Source technologies:<br>
      The platforms we target long-term. It will be mostly XML and
    .properties. But could also be more tricky parts, like, digging data
    from EAP 5's ProfileService, mod_cluster config?, etc.<br>
    <br>
    Platform identification and files comparison: <span
      title="WINDUP-562: Rules request: Server directory identification"><a
        href="https://issues.jboss.org/browse/WINDUP-562"
        data-issue-key="WINDUP-562" class="issue-link link-title">WINDUP-562</a> 
    </span>(Done)<br>
      As discussed during last status meeting, it will be useful to<br>
          recognize the server version - the user may not know the exact
    version, which we need to know the default configuration (in case of
    CLI script migration which just skips the defaults.)<br>
          recognize which files were changed compared to the
    distribution of that version - i.e. which configuration files
    changed (and we don't handle them) and which .jars are changed.<br>
    <br>
    -------------<br>
    Those are rough boundaries. Anything to add or remove? And
    priorities?<br>
    <br>
    <br>
    Ondra<br>
    <br>
    <br>
    <br>
    <br>
  </body>
</html>