Zum Hauptinhalt gehen

DeltaGeneration - What is that and why I might need it?

Kommentare

8 Kommentare

  • Zendesk API User
    Author: linde - 5/18/2013 21:11

    I tried the example with the levelRule but got an Exception in the calculate calculateChangeSet

    Caused by: java.lang.NullPointerException

        at de.espirit.firstspirit.access.schedule.ChangeSetCalculator.scanRevisions(ChangeSetCalculator.java:195)

        at de.espirit.firstspirit.access.schedule.ChangeSetCalculator.calculateChangeSet(ChangeSetCalculator.java:144)

        at de.espirit.firstspirit.access.schedule.DeltaGenerationImpl.calculateChangeSet(DeltaGenerationImpl.java:151)

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    This is the script code:

    import de.espirit.firstspirit.access.schedule.*;

    deltaGeneration = DeploymentUtil.createDeltaGeneration(context); //(1)

    DeltaGeneration.ChangeSet changeSet = deltaGeneration.levelRule(0,1).levelRule(2,4).calculateChangeSet();

    changeSet.configureGenerateTask(); //(3)

    context.logInfo("***** isFullGenerate: " + changeSet.isFullGenerate()); //(4)

    0
  • Zendesk API User
    Author: Peter_Jodeleit - 5/21/2013 13:25

    This Exception will be fixed in the next release (the internal id of this issue is #133075).

    0
  • Zendesk API User
    Author: Peter_Jodeleit - 7/29/2013 11:56

    #133075 is fixed in release 5.0.318 and newer.

    0
  • Zendesk API User
    Author: lewandowskil - 7/31/2013 11:52

    Hi,

    I try to configure a schedule task for a remote project to generate only changed media files. My configuration looks like:

    deltaGeneration.dependencyRules(EnumSet.of(
         DependencyRule.CHANGED_MEDIA));

    The API decribes: "Include all changed media nodes. This should be used for projects which serve as media pool for other projects to ensurce that all changed media are generated."

    I expected to receive only generated media files. But if the project contains also structure sites, which has been changed and released, they will be also generated within this schedule task.

    0
  • Zendesk API User
    Author: Peter_Jodeleit - 7/31/2013 15:27

    There is currently no "exclude" for page changes. To achieve this you could manually remove all "non media start nodes" from the start node list.

    0
  • Zendesk API User
    Author: daniel_philippi - 4/16/2015 7:52

    Lets say we configured a delta deployment and after a successful generation we have a deployment like ftp or similar which fails.

    When I perform the next delta deployment what changes will be deployed. Only the changes which has been made since the last failed deployment oder the one before?

    0
  • Zendesk API User
    Author: Peter_Jodeleit - 4/21/2015 12:32

    @daniel.philippi: The answer is: "Since the last failed deployment".

    You can use the variable DeltaGeneration.DELTA_GENERATION_LAST_EXECUTION to read and set the revision id of the next starting point for the delta generation to change this behaviour (ScheduleContext.setVariable / ScheduleContext.getVariable).

    0
  • Zendesk API User
    Author: markusbucher - 7/28/2016 8:56

    Hallo,

    ich erhalte einen Fatal Error wenn das PrepareDelta-Skript kein Delta errechnen kann:

    INFO  28.07.2016 09:12:50.010 (de.espirit.firstspirit.server.scheduler.ScheduleManagerImpl): starting task 'generate' - schedule entry 'Delta-Generation Master' (id=995551)

    ERROR 28.07.2016 09:12:50.014 (de.espirit.firstspirit.server.scheduler.ScheduleManagerImpl): failure running task 'generate' from schedule entry 'Delta-Generation Master' (id=995551) - java.util.concurrent.ExecutionException: de.espirit.firstspirit.access.schedule.CancelSchedule: no generation necessary, no changes in project 'Corporate' (id=60) since last generation, last change was 'Wed Jul 27 14:30:58 CEST 2016', revision 318917

    java.util.concurrent.ExecutionException: de.espirit.firstspirit.access.schedule.CancelSchedule: no generation necessary, no changes in project 'Corporate' (id=60) since last generation, last change was 'Wed Jul 27 14:30:58 CEST 2016', revision 318917

        at java.util.concurrent.FutureTask.report(FutureTask.java:122)

        at java.util.concurrent.FutureTask.get(FutureTask.java:188)

        at de.espirit.common.util.SuspendableExecutorService$SuspendableFuture.get(SuspendableExecutorService.java:185)

        at de.espirit.firstspirit.server.scheduler.ScheduleManagerImpl$ScheduleRunnable.joinTasks(ScheduleManagerImpl.java:1998)

        at de.espirit.firstspirit.server.scheduler.ScheduleManagerImpl$ScheduleRunnable.doRun(ScheduleManagerImpl.java:1944)

        at de.espirit.firstspirit.server.scheduler.ScheduleManagerImpl$ScheduleRunnable.run(ScheduleManagerImpl.java:1800)

        at de.espirit.firstspirit.server.ExecutionManagerImpl$RunnableWrapper.call(ExecutionManagerImpl.java:634)

        at de.espirit.firstspirit.server.ExecutionManagerImpl$ExtendedCallable.call(ExecutionManagerImpl.java:600)

        at java.util.concurrent.FutureTask.run(FutureTask.java:262)

        at de.espirit.common.util.BoundedExecutorService$RunnableWrapper.run(BoundedExecutorService.java:436)

        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)

        at java.util.concurrent.FutureTask.run(FutureTask.java:262)

        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)

        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

        at java.lang.Thread.run(Thread.java:745)

        at de.espirit.common.util.SuspendableThread.run(SuspendableThread.java:55)

    Caused by: de.espirit.firstspirit.access.schedule.CancelSchedule: no generation necessary, no changes in project 'Corporate' (id=60) since last generation, last change was 'Wed Jul 27 14:30:58 CEST 2016', revision 318917

        at de.espirit.firstspirit.server.scheduler.GenerateTaskExecutor.run(GenerateTaskExecutor.java:104)

        at de.espirit.firstspirit.server.scheduler.ScheduleManagerImpl$TaskCallable.executeLocal(ScheduleManagerImpl.java:2258)

        at de.espirit.firstspirit.server.scheduler.ScheduleManagerImpl$TaskCallable.executeLocal(ScheduleManagerImpl.java:2241)

        at de.espirit.firstspirit.server.scheduler.ScheduleManagerImpl$TaskCallable.call(ScheduleManagerImpl.java:2164)

    Hier der Code dazu:

    import de.espirit.firstspirit.access.schedule.*;

    deltaGeneration = DeploymentUtil.createDeltaGeneration(context);

    changeSet = deltaGeneration.calculateChangeSet();

    changeSet.configureGenerateTask();

    context.setProperty("deletedPageInfos",changeSet.getDeletedPageInfos());

    context.logInfo("***** isFullGenerate: " + changeSet.isFullGenerate()); //(4)


                       

    Wie kann ich den denn umgehen?

    Gruß und Danke

    Markus

    0

Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.