graph creation

hello, I'm new among you and I don't understand much, frankly, how to open the event or how the graph is arranged. please i want to do the following can you help me
<script type="application/ld+json" class="yoast-schema-graph">{
        "@context": "https://schema.org",
        "@graph": [
            {
                "@type": "Organization",
                "@id": "https://www.dugunalbumleri.com/#organization",
                "name": "HTC Alb\u00fcm",
                "url": "https://www.dugunalbumleri.com/",
                "sameAs": [
                    "https://www.facebook.com/htcalbum",
                    "https://www.instagram.com/htcalbum"
                ],
                "logo": {
                    "@type": "ImageObject",
                    "@id": "https://www.dugunalbumleri.com/#logo",
                    "inLanguage": "tr",
                    "url": "https://www.dugunalbumleri.com/wp-content/uploads/2018/03/470x110.png",
                    "width": 232,
                    "height": 54,
                    "caption": "HTC Alb\u00fcm"
                },
                "image": {
                    "@id": "https://www.dugunalbumleri.com/#logo"
                }
            },
            {
                "@type": "WebSite",
                "@id": "https://www.dugunalbumleri.com/#website",
                "url": "https://www.dugunalbumleri.com/",
                "name": "D\u00fc\u011f\u00fcn Alb\u00fcmleri",
                "description": "",
                "publisher": {
                    "@id": "https://www.dugunalbumleri.com/#organization"
                },
                "potentialAction": [
                    {
                        "@type": "SearchAction",
                        "target": "https://www.dugunalbumleri.com/?s={search_term_string}",
                        "query-input": "required name=search_term_string"
                    }
                ],
                "inLanguage": "tr"
            },
            {
                "@type": "WebPage",
                "@id": "https://www.dugunalbumleri.com/#webpage",
                "url": "https://www.dugunalbumleri.com/",
                "name": "D\u00fc\u011f\u00fcn Alb\u00fcm\u00fc | Panoramik D\u00fc\u011f\u00fcn Alb\u00fcmleri | HTC Alb\u00fcm",
                "isPartOf": {
                    "@id": "https://www.dugunalbumleri.com/#website"
                },
                "about": {
                    "@id": "https://www.dugunalbumleri.com/#organization"
                },
                "datePublished": "2018-03-24T20:16:53+00:00",
                "dateModified": "2020-02-04T20:33:08+00:00",
                "description": "D\u00fc\u011f\u00fcn Alb\u00fcm\u00fc modellerini ke\u015ffedin! Favori D\u00fc\u011f\u00fcn Alb\u00fcm\u00fc tasar\u0131m\u0131n\u0131z\u0131 se\u00e7in. D\u00fc\u011f\u00fcn Alb\u00fcmleri modelleri, fiyatlar\u0131, \u00f6zellikleri. D\u00fc\u011f\u00fcn Alb\u00fcm imalat\u0131 burada.",
                "inLanguage": "tr",
                "potentialAction": [
                    {
                        "@type": "ReadAction",
                        "target": [
                            "https://www.dugunalbumleri.com/"
                        ]
                    }
                ]
            }
        ]
    }</script>

@mesutuca33
I see this is the snippet of schema added by Yoast WordPress plugin.
What exactly you want?

okay it is not possible to do this in php?

Yes, It is possible.
This git repo is for PHP.
Yoast is a WordPress plugin which is written in php.
My question is what exactly you want to do, then we may help you.
If you are asking whether the above schema snippet can be generated by this repo, then the answer is Yes.
For answer to "how", you may check this article:
https://freek.dev/642-a-package-to-fluently-generate-schemaorg-markup
and repo readme: https://github.com/spatie/schema-org/blob/master/README.md

okay it is not possible to do this in php?
$graph
->organization()
->identifier('https://www.dugunalbumleri.com/#organization')
->name('ALBUM')
->url('https://www.dugunalbumleri.com/')
->sameAs('https://www.facebook.com/htcalbum');
$graph
->webSite()
->identifier('https://www.dugunalbumleri.com/#website')
->url('https://www.dugunalbumleri.com/')
->name('Düğün Albümleri')
->description('AÇIKLAMA');
// Render graph to script tag
echo $graph;
`
I want to be the sameAs array.
`

As far as i know, these properties are not of the Graph.
graph is a collection (array) of different schema.
So, in your case, the following should work:
$organization
->organization()
->identifier('https://www.dugunalbumleri.com/#organization')
->name('ALBUM')
->url('https://www.dugunalbumleri.com/')
->sameAs('https://www.facebook.com/htcalbum');

$website
->webSite()
->identifier('https://www.dugunalbumleri.com/#website')
->url('https://www.dugunalbumleri.com/')
->name('Düğün Albümleri')
->description('AÇIKLAMA');

$graph = [$organization , $website ]

I guess you got it wrong. What I want to do is the example below
$graph = new Graph();

$graph
    ->organization()
    ->identifier('https://www.dugunalbumleri.com/#organization')
    ->name('ALBUM')
    ->url('https://www.dugunalbumleri.com/')
    ->sameAs('https://www.facebook.com/htcalbum');
$graph
    ->webSite()
    ->identifier('https://www.dugunalbumleri.com/#website')
    ->url('https://www.dugunalbumleri.com/')
    ->name('Düğün Albümleri')
    ->description('AÇIKLAMA');

// Render graph to script tag
echo $graph;

<script type="application/ld+json">{
        "@context": "https:\/\/schema.org",
        "@graph": [
            {
                "@type": "Organization",
                "name": "ALBUM",
                "url": "https:\/\/www.dugunalbumleri.com\/",
                "sameAs": "https:\/\/www.facebook.com\/htcalbum",
                "@id": "https:\/\/www.dugunalbumleri.com\/#organization"
            },
            {
                "@type": "WebSite",
                "url": "https:\/\/www.dugunalbumleri.com\/",
                "name": "Düğün Albümleri",
                "description": "AÇIKLAMA",
                "@id": "https:\/\/www.dugunalbumleri.com\/#website"
            }
        ]
    }</script><!DOCTYPE html>

how do i do webSite ()
 "potentialAction": [
                    {
                        "@type": "SearchAction",
                        "target": "https://www.dugunalbumleri.com/?s={search_term_string}",
                        "query-input": "required name=search_term_string"
                    }
                ],
and

 "sameAs": [
                    "https://www.facebook.com/htcalbum",
                    "https://www.instagram.com/htcalbum"
                ],

Hey,
you can add these things to the website by calling the methods on it.
$graph->website()
    ->potentialAction(
        Schema::searchAction()
            ->target("https://www.dugunalbumleri.com/?s={search_term_string}")
            ->queryInput("required name=search_term_string")
    )
    ->sameAs([
        "https://www.facebook.com/htcalbum",
        "https://www.instagram.com/htcalbum"
    ])

Thank you for your answer. I have a problem right now I will show as an example so that it can be understood better

$data['image'] ="image.jpg

If image is empty I don't want the code below to be written.

->potentialAction(
                Schema::readAction()
                    ->target("https://www.dugunalbumleri.com/")
            );
```

You could use getOrCreate() which s the underlying method of all the shorthand. But you will lose autocompletion or you can use the if() method which will keep up autocompletion but duplicate your code.
The autocompletion could be solved by using a variable and php-doc.
/** @var WebPage|CollectionPage $webpage */
$webpage = $graph->getOrCreate(
    $data['type'] === "Collection"
        ? CollectionPage::class
        : WebPage::class
);

$webpage
    ->identifier($data['url'] . '/#webpage')
;

https://github.com/spatie/schema-org/blob/a10abbfd7af6bb628818d7a9e0712a9ca4184294/src/Graph.php#L966-L977

you are great man.
finally data ['photo'] = "images15x15.jpg
If it is blank, I don't want the following line to be written. Is it possible to write without calling fuction? I would be very happy if you give an example.
-> primaryImageOfPage (array ("@ id" => $ data ('url'). '/ # primaryimage'))
$webpage = $graph->getOrCreate(
            $data['type'] === "koleksiyon" ? \Spatie\SchemaOrg\CollectionPage::class : \Spatie\SchemaOrg\WebPage::class
        );

        $webpage
            ->identifier($data['url'] . '/#webpage')
            ->url($data['url'])
            ->name($data['title'])
            ->isPartOf(array("@id" => $data['url'] . '/#website'))
            ->primaryImageOfPage(array("@id" => $data['url'] . '/#primaryimage'))
            ->datePublished($data['date'])
            ->dateModified($data['update'])
            ->description($data['description'])
            ->inLanguage('tr')
            ->potentialAction(
                Schema::readAction()
                    ->target("https://www.dugunalbumleri.com/")
            );

```

$graph->type()
  ->if($data['photo'], function(Type $type) {
    // Do something with your type
  });

I got an error.
Fatal error: Uncaught BadMethodCallException: The method "type" does not exist on class "Spatie\SchemaOrg\Graph". in C:\xampp\htdocs\app\3rd-party-apps\schema-org\src\Graph.php:922 Stack trace: #0 C:\xampp\htdocs\app\classes\snippet.php(306): Spatie\SchemaOrg\Graph->__call('type', Array) #1 C:\xampp\htdocs\app\controller\index.php(32): snippet::NewOrganization(Array) #2 C:\xampp\htdocs\index.php(34): require('C:\\xampp\\htdocs...') #3 {main} thrown in C:\xampp\htdocs\app\3rd-party-apps\schema-org\src\Graph.php on line 922

$graph->type()
            ->if($data['photo'], function (Type $type) {
                $graph
                    ->imageObject()
                    ->identifier($data['url'] . '/#primaryimage')
                    ->inLanguage('tr')
                    ->url($data['photo'])
                    ->width(1920)
                    ->height(1281)
                    ->caption('Düğün Modelleri');
            });

type() was a placeholder for any possible type you could create on the graph.
Sorry for that. So eg $graph->person()->if()

I did not understand anything. I am getting the error how to use it. Is it possible to show you an example of use?
### As an example I want to ask like this.
If "data ['photo']" is empty, do not write "image Object" function in any way.
and not write "primaryImageOfPage" in "$ webpag".
Has anyone ever used this before?
$graph
            ->imageObject()
            ->identifier($data['url'] . '/#primaryimage')
            ->inLanguage('tr')
            ->url($data['photo'])
            ->width(1920)
            ->height(1281)
            ->caption('Düğün Modelleri');

I know that way I can disable the primary Image Page. but "$ graph
-> How can I remove imageObject () "?
$business = ['url' => $data['url']];
        $webpage->if(isset($data['photo']), function (Type $type) use ($business) {
            $type->primaryImageOfPage(array("@id" => $business['url'] . '/#primaryimage'));
        });

Do you think it is correct to remove it this way?
if ($data['photo']):
$graph
                ->imageObject()
                ->identifier($data['url'] . '/#primaryimage')
                ->inLanguage('tr')
                ->url($data['photo'])
                ->caption($data['description']);
endif;

This if is totally fine. If you like methods and closures more the same if() method from your primary image example is also available on the $graph itself.

I understood thank you. One last question is should I add json data to the bottom of the page or to the top?

I usually add it as the last element as the schema definition can get really big and HTML is processed from top to bottom, so it doesn't delay my rendering and so on.
But I don't know if there's any real rule/advice.

Thank you for your answer.
I did it this way, there was no problem with the organization, but I want to add place and LocalBusiness as grap typena, how can I get it?
i made
$graph = new Graph();
        $graph
            ->organization()

"@graph": [
            {
                "@type": "Organization",
```

the content I want
```
"@graph": [
            {
                "@type": [
                    "Organization",
                    "Place",
                    "LocalBusiness"
                ],
```

I don't understand the subject "@type": ["Organization", "Place", "Local Business"],
Isn't it a problem if you write separately?
Can't I do this on graph, not Mte?

There's absolutely no need as LocalBusiness is already a place and also an organization. See the official schema link. And it's also implemented like this in the package.
So defining your local business via MTE as all three of them will only hurt you. As not all readers understand it/can parse it and the other types in the MTE are also not different.

well place? do not need that too? Does it hurt if I write it as graph?


fix: Generate correct comments with Ctrl+/

Fixes #22
NVM, this would break line comment generation in the JavaScript portion of the code.

This has been published.


enum parse macro to no longer parse virtual None or All members

Using crystal 0.27.2 on OSX
When I execute the following code:
OpenSSL::SSL::VerifyMode.parse("peer")

I get duplicate when "none" in case:

However looking the definition of that enum:
  @[Flags]
  enum VerifyMode : Int
    NONE                 = 0
    PEER                 = 1
    FAIL_IF_NO_PEER_CERT = 2
    CLIENT_ONCE          = 4
  end

The macro that builds .parse? needs to ignore the built in None and All members for this code to compile.

I think we should actually disallow NONE as an enum member (we already disallow None). Let me fix that, and then this will be trivially fixed (though it will be a breaking change).
I think None and All should still be parsed...

Actually, the problem will still happen if we have constants like Foo and FOO. The solution here is to not generate duplicate when branches. Unfortunately we don't have a uniq macro that accepts a block... but maybe it's possible to do, somehow

Also, let's remove that NONE constant from there, it's redundant.

I think we shouldn't inject our own constants into Enums. It's acceptable for Crystal enums (documented behavior), but awful for enums to external bindings :disappointed:

I think we shouldn't inject our own constants into Enums

Period :-)
Please, please, let's remove these generated enum constants, they make the code complex (many special cases to consider) and lead to bugs. One can simply write None = 0 or NONE = 0 and that's it. All is a bit more troublesome to define but it's not a big deal and it's not always needed.

@asterite @ysbaddaden related to #7285


Feature/update bom

Working on https://ucsc-cgl.atlassian.net/browse/SEAB-2642 needed a new release to update CLI
Also encountered https://ucsc-cgl.atlassian.net/browse/SEAB-2328 again

WTF


H&S Softlocked

I was wondering how possible it was to remove the H&S cutscene. Given a pegasus + cape skip, it's very easy to get yourself softlocked, should you not get the shovel early on. While H&S is entirely avoidable on most seeds, it could still cause trouble for the careless. If it is possible, I don't expect any priority on it due to it being avoidable, but it would be a nice quality of life upgrade.

If you have a seed where you can get to H&S without shovel, show me. But there's a logic check in place which should prevent that from ever happening.

This is actually something I've been thinking about. You can get in minimally with either cape and pegasus seeds, or L2 Boomerang and roc's feather (you need jumping to get in no matter which route you take).
Aside from filler for Spring Tower, what does the theft of the feather and subsequent required H&S bring to the game?

As with all nuisances that aren't strictly mandatory, routing choices. There are seeds in which you only have feather, and have to weigh the known cost of H&S against the unknown cost of trying to find the means to skip it later.

I agree with that reasoning in the short term (the main thing I would like Forced H&S removed over is the convenience of the Mount Cuccoo portal, though there's a lot of item and routing combinations that would open up from removing it as well), but leaving the feather confiscation script in the game is going to lead to continual "I can't finish Hide and Seek because I don't have the shovel" complaints.

In any case, the answer to "how possible is it?" is that it would be very easy to do, and I've found that bending the game is sometimes nicer than bending the randomizer. But in this case I'd be more inclined to prevent the feather from being buried rather than prevent it from being stolen.
And in case there's some misunderstanding over this, the reason Rosa's sequence was removed from the overworld was due to a softlock from dying / s+q'ing and respawning stuck in a tree after exiting Subrosia via that portal before it was activated, not because the sequence was annoying. 🙃

My main issue with the second one is that it's just padding - Rosa H&S at least is introducing you to Subrosians in general as well as telling you where the Temple of Seasons actually went. All Treasure H&S does is highlight just how integral jumping is to the GB Zelda games.

I'm trying to think of how that last one would even come about. You'd need bracelet and feather and access to the eastern suburbs, and you'd need for that to be your Spool Swamp access (and on top of that, the floodgate itself stops you from getting anything in spool swamp other than the cave in picture two anyway). Pretty much the only way it could happen is if the floodgate key itself (or progression towards it) was in that one cave, and it's locked behind the shovel anyway at that point.
(I'm half-tempted to jokingly suggest adding the Shovel as a starting item a la the swords in a linked game, but that would probably make things worse rather than better)

One scenario for the second one is getting summer rod -> bracelet -> flippers -> floodgate key with Spool Swamp defaulting to winter. You could change the season to summer, enter Subrosia, get absolutely nowhere, and be trapped by the pits and snow piles when you leave and the season resets.

I've been completely spoiled by LttP Rando; I'm used to being able to S&Q back to Link's House/Sanctuary/the Pyramid in situations like that. I keep forgetting that the GB Zeldas tie your save to the last OW door you've used.

I would assume from Farore spawning a chest with variable contents based on what password you tell her in a linked game that a chest with variable contents could also be spawned after completing Treasure H&S (that's effectively what the game does in vanilla, only with a dig spot instead of an actual box).

Yeah, the Rosa Gasha chest is the one by the long stairs, almost directly north of the Subrosian Chef, as I recall.

It's actually as easy as changing one byte: https://gfycat.com/TediousArtisticArrowcrab

Also yes, something is very wrong with that seed if it thinks that H&S is locked behind shovel.


publish project is failing with SQL login

Azure Data Studio Version:

Steps to Reproduce:

create and build a project
use sql login to deploy - deployment fails with following error

Fixed


unknown activities/tv structure in HomeBridgelog

Hi, just trying this plugin out.
It seems to work but Im getting this error in the Homebridge-log
[PhilipsAndroidTV] getCurrentActivity: unknown activities/tv structure: {}
The config for the plugin is as below:
{
"accessory": "PhilipsAndroidTV",
"name": "AndroidTV",
"ip": "<IP_ADDRESS>",
"macAddress": "d8:13:99:dd:93:9d",
"apiUser": "xxxxxxxx",
"apiPass": "yyyyyyyy",
"apps": [
"Netflix",
"YouTube",
"Plex"
],
"alternativePlayPause": true
}

Same issue here. Message repeats every 10 seconds with 3 entries.
[11/6/2020, 18:49:04] [55OLED854] getCurrentActivity: unknown activities/tv structure: {}
[11/6/2020, 18:49:14] [55OLED854] getCurrentActivity: unknown activities/tv structure: {}
[11/6/2020, 18:49:14] [55OLED854] getCurrentActivity: unknown activities/tv structure: {}
[11/6/2020, 18:49:14] [55OLED854] getCurrentActivity: unknown activities/tv structure: {}
[11/6/2020, 18:49:24] [55OLED854] getCurrentActivity: unknown activities/tv structure: {}
[11/6/2020, 18:49:24] [55OLED854] getCurrentActivity: unknown activities/tv structure: {}
[11/6/2020, 18:49:24] [55OLED854] getCurrentActivity: unknown activities/tv structure: {}
[11/6/2020, 18:49:34] [55OLED854] getCurrentActivity: unknown activities/tv structure: {}
[11/6/2020, 18:49:34] [55OLED854] getCurrentActivity: unknown activities/tv structure: {}
[11/6/2020, 18:49:34] [55OLED854] getCurrentActivity: unknown activities/tv structure: {}

Hi, this log just indicates that when I ask what TV is presenting, it replies empty structure.
My TVs reports app or channel. I received multiple comments that it returns nothing..
I limited this log occurrence to one per startup in 0.2.4 release.

Great job!
The update works fine, I only see it once now!
Big thanks and keep up the good work!

I could not reproduce the event again. I confirm that it is only showing once at startup.

Same issue here. Message repeats every 10 seconds with 3 entries.
[11/6/2020, 18:49:04] [55OLED854] getCurrentActivity: unknown activities/tv structure: {}
[11/6/2020, 18:49:14] [55OLED854] getCurrentActivity: unknown activities/tv structure: {}
[11/6/2020, 18:49:14] [55OLED854] getCurrentActivity: unknown activities/tv structure: {}
[11/6/2020, 18:49:14] [55OLED854] getCurrentActivity: unknown activities/tv structure: {}
[11/6/2020, 18:49:24] [55OLED854] getCurrentActivity: unknown activities/tv structure: {}
[11/6/2020, 18:49:24] [55OLED854] getCurrentActivity: unknown activities/tv structure: {}
[11/6/2020, 18:49:24] [55OLED854] getCurrentActivity: unknown activities/tv structure: {}
[11/6/2020, 18:49:34] [55OLED854] getCurrentActivity: unknown activities/tv structure: {}
[11/6/2020, 18:49:34] [55OLED854] getCurrentActivity: unknown activities/tv structure: {}
[11/6/2020, 18:49:34] [55OLED854] getCurrentActivity: unknown activities/tv structure: {}

The same here. It does not matter whether the Homebridge is restarted with the TV switched on or the TV switched off. In addition, the TV only wakes up the 2nd time it’s pushen the Button on Homekit. TV is connected to WiFi. Everything else works perfectly.
If the TV is on, the entries are not generated. Can I bypass the countless logs? I am using the latest version 0.3.1.
Your Ambilight plug-in works fine.

I limited other logs as well, and added trying again SetOn TV in case of failure in 3 seconds (so if not works first time, will repeat after 3 seconds).
Please check if those solve your issues.

Wiadomość napisana przez Novi001<EMAIL_ADDRESS>w dniu 07.12.2020, o godz. 20:11:
Same issue here. Message repeats every 10 seconds with 3 entries.
[11/6/2020, 18:49:04] [55OLED854] getCurrentActivity: unknown activities/tv structure: {}
[11/6/2020, 18:49:14] [55OLED854] getCurrentActivity: unknown activities/tv structure: {}
[11/6/2020, 18:49:14] [55OLED854] getCurrentActivity: unknown activities/tv structure: {}
[11/6/2020, 18:49:14] [55OLED854] getCurrentActivity: unknown activities/tv structure: {}
[11/6/2020, 18:49:24] [55OLED854] getCurrentActivity: unknown activities/tv structure: {}
[11/6/2020, 18:49:24] [55OLED854] getCurrentActivity: unknown activities/tv structure: {}
[11/6/2020, 18:49:24] [55OLED854] getCurrentActivity: unknown activities/tv structure: {}
[11/6/2020, 18:49:34] [55OLED854] getCurrentActivity: unknown activities/tv structure: {}
[11/6/2020, 18:49:34] [55OLED854] getCurrentActivity: unknown activities/tv structure: {}
[11/6/2020, 18:49:34] [55OLED854] getCurrentActivity: unknown activities/tv structure: {}
The same here. It does not matter whether the Homebridge is restarted with the TV switched on or the TV switched off. In addition, the TV only wakes up the 2nd time it’s pushen the Button on Homekit. TV is connected to WiFi. Everything else works perfectly.
If the TV is on, the entries are not generated. Can I bypass the countless logs? I am using the latest version 0.3.1.
Your Ambilight plug-in works fine.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/konradknitter/homebridge-philips-android-tv/issues/6#issuecomment-740121241, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADJOT3PSBSFVKS6K32ITKUTSTUSGZANCNFSM4TMUS7LQ.

Good morning K.,
and thank you for your quick response.
The messages in the log are now considerably fewer - great.
Switching on the TV now also works the first time - according to your built-in delay of 3 seconds. The TV can also be controlled without any problems. There is only one display error in HomeKit: TV is switched on, but the text says "no answer". If I turn the TV off again and then back on again, everything is perfect. Can you also add something here or is that due to HomeKit? I'll attach a few pictures. I installed your new version shortly before 7 a.m. and then restarted the Homebridge. From there the log begins.
Thank you very much and best regards,
Novi


Add date formatting functionality

Description
To avoid repetition, either add a date formatting helper function or add a date library such as date fns.
Screenshots
No response
Additional information
No response

Thanks Emma 👍

I can work on it

I can work on it

@Vishrut19 I have assigned this to you

I can work on it

@ Vishrut19 I have assigned this to you

@Vishrut19 how are you getting on?

I am working on it. Just give me some time as I was not well. I will work and raise a PR in 2-3 days. Hope that's okay.

Hey ! I am trying to work on it but stuck with this issue. Someone please help

@Vishrut19 please keep the issue discussion focused on the issue otherwise it creates noise for everyone. Environment setup questions are best discussed in EddieHub Discord

@Vishrut19 please keep the issue discussion focused on the issue otherwise it creates noise for everyone. Environment setup questions are best discussed in EddieHub Discord

I have asked about it on Discord as well but got no response on it.

Someone Please review my PR


Check average_rate availability in video reader

This PR addresses #8420 by adding a simple check of whether the average_rate attribute exists on the stream in question before trying to access it. The general behavior is not changed by this PR, as the original fallback to using stream.sample_rate instead is retained.

Thanks a lot for the fix @stefan-baumann


Early experimental async support

Over the weekend, I have started implementing async support here: https://github.com/mmomtchev/node-gdal-async
The current version is of alpha quality and supports only open() and raster read()
My use case is reading data from Express and this is more or less covered
It is too early to merge it back, but if anyone wants to try it, I will appreciate your feedback

@contra, there is almost nothing (maybe one code depup?) that is independent of the async code which is potentially breaking - because of the new locking scheme
I am getting ready for a first push once I

settle down on an API that doesn't change - I am looking at what other similar packages did
fix the automatic github build (any ideas? you use travis?)
get some feedback (especially for Windows)

Proposal:
The user sees only one of each openAsync/writeAsync/readAsync and it is an async function
If its last argument is a callback, that callback is called on completion
Otherwise it returns a Promise (in fact the Promise is always returned)
This will be implemented in lib/gdal.js
And all the low-level C++ functions stay as they are now, with up to 15 arguments and standard (e, r) callback semantics

@contra, I am sorry but it has been ages since I compiled anything on Windows, what is the current "standard" C++ compiler? There is Visual Studio Community 2019 which is a full IDE? And also Visual Studio Build Tools which is a CLI-only compiler but it is stuck in 2015?

I also haven't used windows in almost 10 years - no clue how any of that stuff works tbh. This repo is set up using visual studio 2015 to build on windows, there are newer versions available than that but they introduce breaking changes and I didn't have time to deal with it given all of the other stuff that needed updating. I spent a couple of hours trying to update the windows build and decided it wasn't worth the time since what is there was working fine enough.

Yes, it doesn't build with Studio 2019 but Studio 2019 allows you to install MSVC 140 from Studio 2015 for CLI usage. So currently MSVC 140 is required, and me too I am inclined to leave it in this state.
Unit testing passes in Release mode. The Debug build does not compile, but it is because of a GDAL problem that has been submitted and fixed upstream.
Still waiting for feedback, but I think that the raster async is more or less ready for merging.

I am ready to push the first half of the async code (the raster data)
However as this is a far-reaching change because of the new locking, I would really be more comfortable with some feedback

@mmomtchev Haven't had time to dive really deeply into it yet, hopefully this weekend I can do a review pass.
FWIW I don't do C++ full time (never have) so I will probably defer to your judgement on the implementation in that regard.


[SPARK-33680][SQL][TESTS] Fix PrunePartitionSuiteBase/BucketedReadWithHiveSupportSuite not to depend on the default conf

What changes were proposed in this pull request?
This PR updates PrunePartitionSuiteBase/BucketedReadWithHiveSupportSuite to have the require conf explicitly.
Why are the changes needed?
The unit test should not depend on the default configurations.
Does this PR introduce any user-facing change?
No.
How was this patch tested?
According to https://github.com/apache/spark/pull/30628 , this seems to be the only ones.
Pass the CIs.

Could you review this, @maropu and @viirya ?

Test build #132306 has started for PR 30631 at commit 95086bf.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/36906/

Test build #132310 has started for PR 30631 at commit dbf0ed6.

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/36906/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/36906/

Test build #132310 has finished for PR 30631 at commit dbf0ed6.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/36910/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/132310/

Test build #132306 has finished for PR 30631 at commit 95086bf.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/132306/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/36910/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/36910/

Thank you, @maropu , @HyukjinKwon , @viirya .
The updated tests in hive module passed. Merged to master/3.1.

cc @gengliangwang, @cloud-fan and @maryannxue FYI it's CNF and AQE

Sure, nice!

cc @gengliangwang, @cloud-fan and @maryannxue FYI it's CNF and AQE


modify machinelearningexperimentation swwager

https://github.com/Azure/azure-sdk-for-js/issues/22060

@kazrael2119 Could you help to update the config for Go SDK with new track2 version. You could refer https://github.com/Azure/azure-rest-api-specs/blob/3ac3a0a3ddb7fdefb698b0636fbd70e4df72e4e5/specification/agrifood/resource-manager/readme.go.md?plain=1#L5-L10 to update your readme.go.md.

/azp run


brew cask info adobe-reader error

adobe-reader cask is installed
brew cask info adobe-reader
shows the following errors
Error: Invalid tap name '/'
Follow the instructions here:
  https://github.com/caskroom/homebrew-cask#reporting-bugs
/usr/local/Homebrew/Library/Homebrew/tap.rb:29:in `fetch'
/usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/cli/info.rb:55:in `repo_info'
/usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/cli/info.rb:23:in `info'
/usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/cli/info.rb:11:in `block in run'
/usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/cli/info.rb:7:in `each'
/usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/cli/info.rb:7:in `run'
/usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/cli.rb:115:in `run_command'
/usr/local/Homebrew/Library/Homebrew/cask/lib/hbc/cli.rb:158:in `process'
/usr/local/Homebrew/Library/Homebrew/cmd/cask.rb:8:in `cask'
/usr/local/Homebrew/Library/Homebrew/brew.rb:90:in `<main>'

thanks for fixing in advance

It’s been renamed to adobe-acrobat-reader.
We’re planning a more robust approach to when casks are renamed. Currently it’s a bit lackluster, for cases like this.


MultiHeadpooling is same with the paper?

hi @nlpyang
I have some questions.

In your paper,
equation （15）is not used, so why you propose that?

equation（13）and equation(14)
I don't know why you do this? Can you give some explanation?  In addition, the az and bz do not appear in your code.

        scores = self.linear_keys(key)
        value = self.linear_values(value)

        scores = shape(scores, 1).squeeze(-1)
        value = shape(value)
        # key_len = key.size(2)
        # query_len = query.size(2)
        #
        # scores = torch.matmul(query, key.transpose(2, 3))

        if mask is not None:
            mask = mask.unsqueeze(1).expand_as(scores)
            scores = scores.masked_fill(mask, -1e18)

You also not use the way from paper to compute your scores. Why?
Best Wishes!

equation 16 has a typo, where it should be used with \hat(a) not a.

you can think a and b as scores and values, which do appear in the code as  https://github.com/nlpyang/hiersumm/blob/476e6bf9c716326d6e4c27d5b6878d0816893659/src/abstractive/attn.py#L241
https://github.com/nlpyang/hiersumm/blob/476e6bf9c716326d6e4c27d5b6878d0816893659/src/abstractive/attn.py#L242

I can't see why this is different from the paper.


Update DEPLOYMENT_COUNT message

Looks like this got lost during one of the merge conflicts.

Pull Request Test Coverage Report for Build 123

0 of 0 (NaN%) changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 11.187%

Totals

Change from base Build 118:
0.0%

Covered Lines:
108

Relevant Lines:
722

💛  - Coveralls

Pull Request Test Coverage Report for Build 123

0 of 0 (NaN%) changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 11.187%

Totals

Change from base Build 118:
0.0%

Covered Lines:
108

Relevant Lines:
722

💛  - Coveralls


[BUG]: Plugin does not capture click events on div elements - applicationinsights-clickanalytics-js

Description/Screenshot
Using the plugin setup as in the example click events on div elements are not registered.
Rest of click actions on inputs, buttons etc. are send according to expectations
Steps to Reproduce

Setup the plugin according to the given example
Set a data-custom-id="test" on a div element.
Assign a simple onClick function (just a console.log()) to that div
Click on the div. Console print will be triggered but in the app insight you will never get the related event

OS/Browser: Win 10/ Chrome
SDK Version [e.g. 22]: 2.6.4
How you initialized the SDK: npm

Expected behavior
Click events are also traced for div elements

@msemkowicziwanow you have to use parentDataTag in the config to capture values from all the parent HTML elements of the clicked element. Here is an example with  parentDataTag usage.

As far as I can tell the only supported tags are A, AREA, IMG and INPUT when i look in the getClickTarget method in DataCollector.ts.
Would it be possible to expose pageAction.capturePageAction on the ClickAnalyticsPlugin in addition to the already exposed pageAction.trackPageAction so I can track a page action easily without having to fill in all the properties (like timeToAction and refUri) manually and only provide what I want to override?


[Task]: Give github-actions service account auth to healthcare.fhirStores.create

What needs to happen?
beam_PostCommit_Go_Dataflow_ARM.yml failed due to permission healthcare.fhirStores.create denied:

https://github.com/apache/beam/pull/28215 excludes TestFhirIO.* from the test lists so that beam_PostCommit_Go_Dataflow_ARM.yml passed. During the Jenkins -> github-actions transition, should make sure the github-actions service account have permission to healthcare.fhirStores.create.
Issue Priority
Priority: 3 (nice-to-have improvement)
Issue Components

[ ] Component: Python SDK
[ ] Component: Java SDK
[X] Component: Go SDK
[ ] Component: Typescript SDK
[ ] Component: IO connector
[ ] Component: Beam examples
[ ] Component: Beam playground
[ ] Component: Beam katas
[ ] Component: Website
[ ] Component: Spark Runner
[ ] Component: Flink Runner
[ ] Component: Samza Runner
[ ] Component: Twister2 Runner
[ ] Component: Hazelcast Jet Runner
[ ] Component: Google Cloud Dataflow Runner

@svetakvsundhar FYI.


Update traitormod.lua

first thing ive ever done on git lol, let me know if I'm doing this wrong
suggested additional debug step to try to figure out if there's a math issue

Rejd suggested better changes to troubleshoot the traitor roll issue so I'm closing this


crash while debugging, no more info than that

[Window Title]
Fatal Exception
[Content]
A fatal exception (code 0xc0000005) occurred. The process is terminating.
Press Ctrl+C to copy this text to clipboard, then create a new issue at
https://github.com/EpicGamesExt/raddebugger/issues
Call stack:

[0x7ff7582fdf16] e_expr_push_child +86, eval_parse.c line 744
[0x7ff75830169e] e_parse_expr_from_text_tokens__prec +3710, eval_parse.c line 1139
[0x7ff758304f5f] e_parse_expr_from_text_tokens +95, eval_parse.c line 1883
[0x7ff75830b8f3] e_eval_from_string +163, eval_bundles.c line 11
[0x7ff758406ac2] df_code_slice +33122, df_gfx.c line 12148
[0x7ff758409b88] df_code_slicef +248, df_gfx.c line 12563
[0x7ff758418d8e] df_code_view_build +11278, df_views.c line 939
[0x7ff75839a9c9] df_view_ui_Code +4825, df_views.c line 6447
[0x7ff7583e2bbe] df_window_update_and_render +176750, df_gfx.c line 7265
[0x7ff758428ee4] update_and_render +4292, raddbg.c line 342
[0x7ff758298de6] entry_point +4838, raddbg_main.c line 392
[0x7ff758294809] main_thread_base_entry_point +345, base_entry_point.c line 82
[0x7ff75842bdc0] w32_entry_point_caller +2320, os_core_win32.c line 1632
[0x7ff758285036] wWinMain +54, os_core_win32.c line 1644
[0x7ff75845910e] __scrt_common_main_seh +262, exe_common.inl line 288
[0x7ff8e6507374] KERNEL32
[0x7ff8e74fcc91] ntdll

Version: 0.9.12
[Close]

This has been fixed on dev. I don't yet recommend pulling/building from there for actual usage, since there are a few things I have broken while doing some major passes. But this fix will be in the 0.9.12 release.

Awesome, thank you
On Fri, Sep 27, 2024, 6:00 p.m. Ryan Fleury @.***>
wrote:

This has been fixed on dev. I don't yet recommend pulling/building from
there for actual usage, since there are a few things I have broken while
doing some major passes. But this fix will be in the 0.9.12 release.
—
Reply to this email directly, view it on GitHub
https://github.com/EpicGamesExt/raddebugger/issues/316#issuecomment-2380298085,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAATPIMRPF4LOCG7BZX4EQTZYXWQ3AVCNFSM6AAAAABO33HJDSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGOBQGI4TQMBYGU
.
You are receiving this because you authored the thread.Message ID:
@.***>


Trying to set a different language with ant Config Provider

Here is the code:
// Libs
import React, { Component } from "react";
import PropTypes from "prop-types";
import { Layout } from "antd";
import { ConfigProvider } from 'antd';
import ptBR from 'antd/lib/locale/pt_BR'

// Styles
import styles from "./App.scss";
// Components
import Header from "@/components/@shared/Header";
import Footer from "@/components/@shared/Footer";

/**
 * App
 *
 * @class App
 * @extends {Component}
 */
class App extends Component {
  static propTypes = {
    children: PropTypes.node.isRequired
  };

  constructor(props) {
    super(props);
  }

  render() {
    const { children } = this.props;
    return (
      <ConfigProvider locale={ptBR}>
        <Layout>
          <Header />
          <Layout className={styles.app}>
            <Layout.Content>{children}</Layout.Content>
          </Layout>
          <Footer />
        </Layout>
      </ConfigProvider>
    );
  }
}

export default App;

What I tried:
I´m following ant design suggestion to change language:
https://ant.design/docs/react/i18n
What I´d like:
To use ConfigProvider locale to change the language in all components.
Any ideas? I was able to set only protable locale, but dropdowns and other components are still in chinese. I did through this issue solution:
https://github.com/ant-design/pro-table/issues/79#issuecomment-733478294

fixed with a pull request. The fix:
on .babelrc:
"plugins": [
    [
      "import",
      {
        "libraryName": "antd",
        +"libraryDirectory": "es",
        "style": true
      },
      "ant"
    ],


Use dropdowns in reports

Attach dropdown to settable prop of Report Mutable Scope.
-Work on issue with Slices:
Some default slices make more sense after some non default slices:
Eg in PV EconomicBasis is default but when slice by GroupOfContracct is selected it is better to slice before by GOC and then by EconomicBasis
-Work on issue with Filter:
Select multiple options:
the following scenario should be allowed:
Filter by Dim1: EconomicBasis = L
Filter by Dim2: GOC = [GIC1,GIC2]
in total there are 3 filters and the resulting filter should be:
Filter(Dim1) & ( Filter(Dim2,GIC1) || Filter(Dim2,GIC2) )

List of remaining todos discussed today:

Scenario scope :

Short term populate the dropdown with "Delta" and "All" options.
Long term extract a ComparisonView scope, more general than comparison of scenarios.

ReportingNode scope :

rename controller variable and backend variable (to support old way of reporting from NB) => extend to all scopes
trigger init of ReportingNodeMapping if null => (to support old way of reporting from NB)

Filters scope:

decide whether to wait for new controllers or improve current version => align on timeline from platform
FilterName => init with a method to be overwritten in each scope inheriting this one
All queries should use GetAutocompleteMappings
move queries to the storage
Filter can handle or cases => adapt controllers and backend

-Slice scope:

same point 1 of filter applies here
separate slicesForRows from SliceForColumns
sliceColumn/RowName is init with a method to be overwritten in each scope inheriting this one
or define a generic to which each scopes adds/remove.
note : put the options is some logical order (RN,GOC, close together)

Data scope

remove filter from id. Create a method return filtered DataCube

Report scope:

add method to generate an export (support both xlsx and csv)
add method to generate graph
add method to report .ForObject

ReportScopes:

check default slices
test adding [NotVisible] to hide controllers

-ReportConfigurationAndUtils:

GetAutocompleteMappings : support Hierarchical Dimensions and Ordered dimension and make use of the order to order the dropdownvalues


fix missing semicolon in Postgres script's files

once the CLI is signed we can merge

Seems to be signed


rename getArchetypesWithComponents to getComponentSlices and change return type

All uses of getArchetypesWithComponents actually only care about the component slices of certain types.
If getArchetypesWithComponents were to return a double slice then a query would not have to force the iterator abstraction on return and instead return the raw 2d slices. The iterator should remain, but as an optional abstraction.

This function is no longer used and is removed as of 17074c2 (superseded by binary tree iterator)


Return error on not found from ListFn

This changes ListFn's implementation so that if it encounters a not
found error, instead of sending a fatal error to log, it coordinates the
return of the error between checker goroutines and sends it back to the
caller.
The main impotus here is that it allows an external program compiling
against rclone as a package to handle a not found, where it currently it
cannot. I'm sure that using rclone's API is not recommended, but I've
found it useful for some personal projects, and I think this change
makes thing strictly less surprising and more consistent.
This does change error output on a not found a little bit, we go from
this:
2017/01/09 21:14:03 directory not found

To this:
2017/01/09 21:13:44 Failed to ls: directory not found

This seems okay to me, but I'd defer to more expert opinions.

@ncw Thanks for the quick review! Could you check the new changes to see if they're more to your liking?
One thing I'm not sure that I got right: I'm not sure if the goroutines that weren't first to get the new error will "fail fast" when the first error gets set. That said, I'm not sure that it really matters.

One thing I'm not sure that I got right: I'm not sure if the goroutines that weren't first to get the new error will "fail fast" when the first error gets set. That said, I'm not sure that it really matters.

Once the error gets set the other goroutines will abort.  It isn't instant but it should be quite quick.

Once the error gets set the other goroutines will abort. It isn't instant but it should be quite quick.

Cool! Thanks for checking.
Rebased into 69fcf52 and force pushed.

I've merged this in 3b1e0b66bbf78024baf06d51c3de837135ef95e2 - thank you very much for your contribution :-)
I rebased and I edited the commit message slightly to take out the questions since we've resolved them - I hope you don't mind.
If you have any 3rd party tools using, or compiling with rclone that you'd like to share I'd love to have them in #1019
Thanks
Nick


Add type hint for context manager method

Add type hint for dispatch_info parameter in claim method of ActiveDispatchInfoManager

Would like to work on it. Could you assign it to me?

Would like to work on it. Could you assign it to me?

Done!


Line wrap doesn't wrap comments

I'm inheriting a node.js app, and it's ridden with code and comments that exceed 79 characters, so I executed the following on all files:
js-beautify -r -s 2 -a -j -B -w 79 -n --good-stuff <file>

When I run this on all files, I'm finding that there's 379 lines in comments that aren't wrapped in the application:
sed -n '/\(.\)\{80\}/p' <file>

Is this intentional or a bug?

The line wrapping feature has always been described as "best effort".  So, there are any number of situations where it will wrap sooner that expected or not wrap until beyond the set limit.
It depends on specifics of cases you're seeing.  Please provide examples of input, current output, and desired output.   Whether intentional or bug, we welcome input on how to make the beautifier behave better.

@karma0 - I need more info.

If I put this into a file test.js (and set the screen width to 79):
/*
 * This is a test line that is more than seventy-nine characters in length, inc
luding the comment start and period.
 * This is another line that is less than seventy-nine characters in length.
 *
 */

var test = 'This is a test string that is more than seventy characters in lengt
h, even without the var declaration.';

And then I run js-beautify -r -s 2 -a -j -B -w 79 -n --good-stuff test.js then the following is the modified file:
/*
 * This is a test line that is more than seventy-nine characters in length, inc
luding the comment start and period.
* This is another line that is less than seventy-nine characters in length.
*
*/

var test =
  'This is a test string that is more than seventy characters in length, even w
ithout the var declaration.';

It appears that long strings don't get broken up either.

Perhaps a desired output could be:
/*
 * This is a test line that is more than seventy-nine characters in length,
 * including the comment start and period.
 * This is another line that is less than seventy-nine characters in length.
 *
 */

var test =
  'This is a test string that is more than seventy characters in length, '+
  'even without the var declaration.';

Or similar.

Does #421 cover your desired behavior?

#421 covers quite a bit more than I would be looking for in terms of the comments in JavaScript files, though it would cover it and the rest would certainly be useful.  That aside, there is no mention of the strings being split.  Maybe another option specifying max string length to add to that list would suffice.
Would you prefer that I move the commentary over to that thread and close this one out?

Hey, thanks for asking.
I agree #421 covers your feature request for comment formatting, but (as you pointed out) not the behavior you described for string formatting.  Leaving this open makes.
(I've moved your examples into the first comment and cleaned up the thread a bit. )
Unfortunately, the beautifier uses a rather simplistic engine and focuses on rearranging whitespace around tokens, rather than on rearranging tokens themselves. Both of these requests are more involved requiring rewriting of tokens themselves, not just rearranging whitespace.  So, they're out of scope at this time.  If the beautifier reaches sufficient sophistication to be able to do token modification and we get the line wrapping from "best effort" to fully baked, these would certainly be the first token modification features I'd look at.
Thanks!


Netatmo camera services : Implement enable_motion_detection/disable_motion_detection services and create new services for camera flood light control

Description:
Implement services for Netatmo camera:

enable_motion_detection.
disable_motion_detection.

Create new services for Netatmo Presence camera:

set_light_auto : Set flood light in automatic mode.
set_light_on : Set flood light on.
set_light_off : Set flood light off.

Additionally, add new state attributes of cameras.
Pull request with documentation for home-assistant.io (if applicable): home-assistant/home-assistant.io#10907
Example entry for configuration.yaml (if applicable):

Checklist:

[x ] The code change is tested and works locally.
[x ] Local tests pass with tox. Your PR cannot be merged unless tests pass
[x ] There is no commented out code in this PR.
[x ] I have followed the development checklist

If user exposed functionality or configuration variables are added/changed:

[x ] Documentation added/updated in home-assistant.io

If the code communicates with devices, web services, or third-party tools:

[x ] The manifest file has all fields filled out correctly. Update and include derived files by running python3 -m script.hassfest.
[x ] New or updated dependencies have been added to requirements_all.txt by running python3 -m script.gen_requirements_all.
[x ] Untested files have been added to .coveragerc.

If the code does not interact with devices:

[x ] Tests have been added to verify that the new code works.

Hi @ssenart,
It seems you haven't yet signed a CLA. Please do so here.
Once you do that we will be able to review and accept this pull request.
Thanks!

Just an idea. We could also include a service to turn the camera on/off.
"/command/changestatus?status=%s"            # "on"|"off"
I tried to get this implemented in pyatmo but it was rejected due to being a possible security issue. This true also for disabling motion detection but IMO it's safe to add since the HA instance should be secured as that might pose a much bigger security threat in itself.


bugfix: UDP session read buffer size should not be reset on read timeout

Issues associated with this PR
c.readBuffer will be reset on read timeout,  which will resize UDP recv buffer to 128. Data in a UDP packet exceeding the buffer size will be discarded.
Solutions
c.readBuffer of a UDP session should not be reset.
UT result
Unit Test is needed if the code is changed, your unit test should cover boundary cases, corner cases, and some exceptional cases. And you need to show the UT result.
Benchmark
If your code involves the processing of every request, you should give the Benchmark Result.
Code Style

Make sure Goimports has run
Show Golint result

Codecov Report

Merging #1318 into master will increase coverage by 0.01%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##           master    #1318      +/-   ##
==========================================
+ Coverage   54.59%   54.61%   +0.01%
==========================================
  Files         331      331
  Lines       30401    30398       -3
==========================================
+ Hits        16598    16601       +3
+ Misses      12214    12205       -9
- Partials     1589     1592       +3

Impacted Files
Coverage Δ

pkg/filter/network/streamproxy/streamproxy.go
17.18% <0.00%> (ø)

pkg/mosn/starter.go
32.93% <0.00%> (-0.81%)
:arrow_down:

pkg/network/connection.go
32.46% <0.00%> (ø)

pkg/server/handler.go
37.74% <0.00%> (ø)

pkg/filter/stream/dsl/dsl.go
73.46% <0.00%> (-5.22%)
:arrow_down:

pkg/proxy/streamfilters.go
45.03% <0.00%> (-1.12%)
:arrow_down:

pkg/module/http2/server.go
81.55% <0.00%> (-0.22%)
:arrow_down:

pkg/module/http2/mhttp2.go
0.00% <0.00%> (ø)

pkg/proxy/downstream.go
35.66% <0.00%> (+0.19%)
:arrow_up:

pkg/module/http2/transport.go
78.62% <0.00%> (+0.28%)
:arrow_up:

... and 1 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 8829965...b098617. Read the comment docs.


Not able to use this add-on

Hi Axel,
I have alfresco 6.2 community installed, it is working fine. After that I have applied Alfresco-simple-content stores amp.
Now I am trying to add simple store (standardFileStore), while doing that i am getting not able to some content and alf_data not pointed to correct location error.
I tried with Aggregating store, there I am getting error Error creating bean with name 'myAggregatingStore': Cannot resolve reference to bean 'fileContentStore' while setting bean property 'secondaryStores'
Can you please help me in fixing this.
Thanks,
Sagar

Your configuration is partially not correct. I realise that the example configuration in the documentation of the aggregating store does mention fileContentStore, but the correct name for the default store is actually defaultTenantFileStore, as outlined in the general configuration documentation.

Hi Alex,
I have changed my configuration to defaultTenantFileStore, but still I am getting the error as below.
org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'defaultTenantFileStore' available.
Below is my configuration.
dir.root=C:/Alfresco/alf_data
dir.keystore=C:/Alfresco/alf_data/keystore
simpleContentStores.enabled=true
simpleContentStores.customStores=myCustomFileStore,myAggregatingStore
simpleContentStores.rootStore=myAggregatingStore
simpleContentStores.customStore.myAggregatingStore.type=aggregatingStore
simpleContentStores.customStore.myAggregatingStore.ref.primaryStore=myCustomFileStore
simpleContentStores.customStore.myAggregatingStore.list.ref.secondaryStores=defaultTenantFileStore
simpleContentstores.customStore.myAggregatingStore.deleteContentFromSecondaryStores=false
simpleContentStores.customStore.myCustomFileStore.type=standardFileStore
simpleContentStores.customStore.myCustomFileStore.value.rootAbsolutePath=C:/Alfresco/alf_data/myContentStore
simpleContentStores.customStore.myCustomFileStore.value.deleteEmptyDirs=true
simpleContentStores.customStore.myCustomFileStore.value.protocol=store
simpleContentStores.customStore.myCustomFileStore.value.fixedLimit=104857600

If you read the linked config section, you still have to list the defaultTenantFileStore in the simpleContentStores.customStores property.

Hi Alex,
Thanks for quick reply, I have added defaultTenantFileStore in the simpleContentStores.customStores, then i get error as below.
ERROR [org.springframework.web.context.ContextLoader] [main] Context initialization failed
org.alfresco.error.AlfrescoRuntimeException: 09270018 defaultTenantFileStore (custom content store) has not been given a type
Please find my configuration below.
dir.root=C:/Alfresco/alf_data
dir.keystore=C:/Alfresco/alf_data/keystore
simpleContentStores.enabled=true
#simpleContentStores.customStores=myCustomFileStore
#simpleContentStores.rootStore=myCustomFileStore
simpleContentStores.customStores=myCustomFileStore,myAggregatingStore,defaultTenantFileStore
simpleContentStores.rootStore=myAggregatingStore
simpleContentStores.customStore.myAggregatingStore.type=aggregatingStore
simpleContentStores.customStore.myAggregatingStore.ref.primaryStore=myCustomFileStore
simpleContentStores.customStore.myAggregatingStore.list.ref.secondaryStores=defaultTenantFileStore
simpleContentstores.customStore.myAggregatingStore.deleteContentFromSecondaryStores=false
simpleContentStores.customStore.myCustomFileStore.type=standardFileStore
simpleContentStores.customStore.myCustomFileStore.value.rootAbsolutePath=C:/Alfresco/alf_data/myContentStore
simpleContentStores.customStore.myCustomFileStore.value.deleteEmptyDirs=true
simpleContentStores.customStore.myCustomFileStore.value.protocol=store
simpleContentStores.customStore.myCustomFileStore.value.fixedLimit=104857600

Ok - this error has revealed two issues:

I made a copy&paste mistake (actually I typed it instead of doing a copy&paste) from my own documentation
you have indeed not read the linked documentation

The value defaultTenantFileStore is incorrect, and it should have been defaultTenantFileContentStore

Thanks Alex,
Now it is working.

Hi Alex,
I am able to configure the Encrypted content store, now I would like to
encrypt existing content. I am following the below configuration, does it
encrypt existing content, or I need to run any job.
simpleContentStores.enabled=true
simpleContentStores.customStores=typeRoutingStore,myAggregatingStore,myEncryptingStore,myCustomFileStore,defaultTenantFileContentStore
simpleContentStores.rootStore=typeRoutingStore
simpleContentStores.customStore.typeRoutingStore.type=typeRoutingStore
simpleContentStores.customStore.typeRoutingStore.ref.fallbackStore=defaultTenantFileContentStore
simpleContentStores.customStore.typeRoutingStore.map.storeByTypeName.ref.cm
:content=myAggregatingStore
simpleContentStores.customStore.myAggregatingStore.type=aggregatingStore
simpleContentStores.customStore.myAggregatingStore.ref.primaryStore=myEncryptingStore
simpleContentStores.customStore.myAggregatingStore.list.ref.secondaryStores=defaultTenantFileContentStore
simpleContentstores.customStore.myAggregatingStore.deleteContentFromSecondaryStores=false
simpleContentStores.customStore.myEncryptingStore.type=encryptingFacadeStore
simpleContentStores.customStore.myEncryptingStore.ref.backingStore=myCustomFileStore
simpleContentStores.customStore.myEncryptingStore.value.keyStorePath=classpath:keystoresenc.jks
simpleContentStores.customStore.myEncryptingStore.value.keyStorePassword=Reva12#$
simpleContentStores.customStore.myEncryptingStore.value.masterKeyAlias=alfrescoenc
simpleContentStores.customStore.myEncryptingStore.value.masterKeyPassword=Reva12#$
simpleContentStores.customStore.myEncryptingStore.value.masterKeyStoreId=SimpleContentStores
simpleContentStores.customStore.myCustomFileStore.type=standardFileStore
simpleContentStores.customStore.myCustomFileStore.value.rootAbsolutePath=C:/Alfresco/alf_data/myContentStore
simpleContentStores.customStore.myCustomFileStore.value.deleteEmptyDirs=true
simpleContentStores.customStore.myCustomFileStore.value.protocol=store
simpleContentStores.customStore.myCustomFileStore.value.fixedLimit=104857600
Please advise me.
On Tue, Oct 27, 2020 at 4:40 PM Axel Faust<EMAIL_ADDRESS>wrote:

Ok - this error has revealed two issues:

I made a copy&paste mistake (actually I typed it instead of doing a
copy&paste) from my own documentation
you have indeed not read the linked documentation

The value defaultTenantFileStore is incorrect, and it should have been
defaultTenantFileContentStore
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Acosix/alfresco-simple-content-stores/issues/31#issuecomment-717168362,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHHBMAOFOEMKNGI76AJ4JNLSM2TBJANCNFSM4S4MUPUQ
.

--
Sagar Nimmala
+91<PHONE_NUMBER>

You already commented on #29 and likely saw my reply in that thread that said "encrypting existing content is not automatically done" - this means there is no job to run etc.
With your configuration, existing content would never be encrypted, as you have put the encrypting store in an aggregating content store. Only new versions / new files would ever be encrypted.
If you used a property or site routing instead of an aggregating content store, then existing content would be encrypted as soon as you trigger a change on the node that affects where its content is to be stored, e.g. update the selector property or move it between sites. Note that:

this is only able to encrypt the "current version" of the node
unencrypted content may still be referenced by other nodes (e.g. when copied / or frozen version nodes)
oboslete / orphaned unencrypted content is deleted in accordance with Alfresco's standard handling of orphaned content (typically with 14 day delay)

Hi Axel,
Can you please provide me property based configuration to encrypt existing
content using an encrypted store.
https://github.com/Acosix/alfresco-simple-content-stores/blob/master/docs/SelectorPropertyRoutingStore.md
this link is not working.
I am struck in encrypting existing content. It would be great help if you
show me example how can I encrypt existing default store current version
documents, otherwise i need to write code reimporting existing content
simpleContentStores.customStore.myEncryptingStore.type=encryptingFacadeStore
simpleContentStores.customStore.myEncryptingStore.ref.backingStore=defaultTenantFileContentStore
simpleContentStores.customStore.myEncryptingStore.value.keyStorePath=classpath:keystoresenc.jks
simpleContentStores.customStore.myEncryptingStore.value.keyStorePassword=password
simpleContentStores.customStore.myEncryptingStore.value.masterKeyAlias=alias
simpleContentStores.customStore.myEncryptingStore.value.masterKeyPassword=password
simpleContentStores.customStore.myEncryptingStore.value.masterKeyStoreId=SimpleContentStores
On Thu, Oct 29, 2020 at 4:16 PM Axel Faust<EMAIL_ADDRESS>wrote:

You already commented on #29
https://github.com/Acosix/alfresco-simple-content-stores/issues/29 and
likely saw my reply in that thread that said "encrypting existing content
is not automatically done" - this means there is no job to run etc.
With your configuration, existing content would never be encrypted, as you
have put the encrypting store in an aggregating content store. Only new
versions / new files would ever be encrypted.
If you used a property or site routing instead of an aggregating content
store, then existing content would be encrypted as soon as you trigger a
change on the node that affects where its content is to be stored, e.g.
update the selector property or move it between sites. Note that:

this is only able to encrypt the "current version" of the node
unencrypted content may still be referenced by other nodes (e.g.
when copied / or frozen version nodes)
oboslete / orphaned unencrypted content is deleted in accordance
with Alfresco's standard handling of orphaned content (typically with 14
day delay)

—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/Acosix/alfresco-simple-content-stores/issues/31#issuecomment-718636316,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHHBMAP7JRSZCZPSDPPLCUTSNFBY5ANCNFSM4S4MUPUQ
.

--
Sagar Nimmala
+91<PHONE_NUMBER>

There is a slight error in the Readme-Link, the correct one is https://github.com/Acosix/alfresco-simple-content-stores/blob/master/docs/SelectorPropertyStore.md

Can you please help me encrypting existing content.
On Mon, Nov 2, 2020 at 1:44 PM Axel Faust<EMAIL_ADDRESS>wrote:

There is a slight error in the Readme-Link, the correct one is
https://github.com/Acosix/alfresco-simple-content-stores/blob/master/docs/SelectorPropertyStore.md
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/Acosix/alfresco-simple-content-stores/issues/31#issuecomment-720312844,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHHBMAPMTXNL7PCDLWFGU73SNZS6VANCNFSM4S4MUPUQ
.

--
Sagar Nimmala
+91<PHONE_NUMBER>

I don't know how I can help / support you more (except for giving you ready-to-use code for your environment, which I obviously can't and won't) other than advising you to:

configure a property routing content store with the default file content store as the default / fallback store and the encrypting store as a store mapped to a specific property value (you can use the default content store selector aspect or an aspect of your own)
option a) configure a form or action in whatever UI you are using (Share / ADF) to change the value of the selector property and execute a property change for any document you want encrypted
option b) implement / run a script, job or action which processes batches of your existing documents to change that selector property without minimal / no user interaction

You have the documentation of the selector store (correct link provided in my last response), and problably know best about your system, UI and custom metadata model to decide which of the option you need / should take.

Hi Alex,
I am trying with a property routing store, but getting error as below.
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException:
No bean named 'simpleContentStoresTemplate-selectorPropertyStore' available.
using the below configuration.
simpleContentStores.enabled=true
simpleContentStores.customStores=myEncryptingStore,myCustomFileStore,propertyRoutingStore,defaultTenantFileContentStore
simpleContentStores.rootStore=propertyRoutingStore
simpleContentStores.customStore.propertyRoutingStore.type=selectorPropertyStore
simpleContentStores.customStore.propertyRoutingStore.ref.fallbackStore=defaultTenantFileContentStore
simpleContentStores.customStore.propertyRoutingStore.value.selectorClassName=cr:documentary
simpleContentStores.customStore.propertyRoutingStore.value.selectorPropertyName=cr:storeName
simpleContentStores.customStore.propertyRoutingStore.map.storeBySelectorPropertyValue.ref.encrypt=myEncryptingStore
simpleContentStores.customStore.myEncryptingStore.type=encryptingFacadeStore
simpleContentStores.customStore.myEncryptingStore.ref.backingStore=myCustomFileStore
simpleContentStores.customStore.myEncryptingStore.value.keyStorePath=classpath:keystoresenc.jks
simpleContentStores.customStore.myEncryptingStore.value.keyStorePassword=password
simpleContentStores.customStore.myEncryptingStore.value.masterKeyAlias=alfrescoenc
simpleContentStores.customStore.myEncryptingStore.value.masterKeyPassword=password
simpleContentStores.customStore.myEncryptingStore.value.masterKeyStoreId=SimpleContentStores
simpleContentStores.customStore.myCustomFileStore.type=standardFileStore
simpleContentStores.customStore.myCustomFileStore.value.rootAbsolutePath=C:/Alfresco/alf_data/myContentStore
simpleContentStores.customStore.myCustomFileStore.value.deleteEmptyDirs=true
simpleContentStores.customStore.myCustomFileStore.value.protocol=store
simpleContentStores.customStore.myCustomFileStore.value.fixedLimit=104857600
On Mon, Nov 2, 2020 at 4:41 PM Axel Faust<EMAIL_ADDRESS>wrote:

I don't know how I can help / support you more (except for giving you
ready-to-use code for your environment, which I obviously can't and won't)
other than advising you to:

configure a property routing content store with the default file
content store as the default / fallback store and the encrypting store as a
store mapped to a specific property value (you can use the default
content store selector aspect
https://github.com/Alfresco/alfresco-repository/blob/master/src/main/resources/alfresco/model/contentModel.xml#L1319
or an aspect of your own)
option a) configure a form or action in whatever UI you are using
(Share / ADF) to change the value of the selector property and execute a
property change for any document you want encrypted
option b) implement / run a script, job or action which processes
batches of your existing documents to change that selector property without
minimal / no user interaction

You have the documentation of the selector store (correct link provided in
my last response), and problably know best about your system, UI and custom
metadata model to decide which of the option you need / should take.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/Acosix/alfresco-simple-content-stores/issues/31#issuecomment-720406140,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHHBMAMACJYFRPGJYVGOTULSN2HXTANCNFSM4S4MUPUQ
.

--
Sagar Nimmala
+91<PHONE_NUMBER>

Hi Axel,
Can you please let me know how I can fix this error.
On Mon, Nov 2, 2020 at 5:07 PM sagar nimmala<EMAIL_ADDRESS>wrote:

Hi Alex,
I am trying with a property routing store, but getting error as below.
Caused by:
org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean
named 'simpleContentStoresTemplate-selectorPropertyStore' available.
using the below configuration.
simpleContentStores.enabled=true
simpleContentStores.customStores=myEncryptingStore,myCustomFileStore,propertyRoutingStore,defaultTenantFileContentStore
simpleContentStores.rootStore=propertyRoutingStore
simpleContentStores.customStore.propertyRoutingStore.type=selectorPropertyStore
simpleContentStores.customStore.propertyRoutingStore.ref.fallbackStore=defaultTenantFileContentStore
simpleContentStores.customStore.propertyRoutingStore.value.selectorClassName=cr:documentary
simpleContentStores.customStore.propertyRoutingStore.value.selectorPropertyName=cr:storeName
simpleContentStores.customStore.propertyRoutingStore.map.storeBySelectorPropertyValue.ref.encrypt=myEncryptingStore
simpleContentStores.customStore.myEncryptingStore.type=encryptingFacadeStore
simpleContentStores.customStore.myEncryptingStore.ref.backingStore=myCustomFileStore
simpleContentStores.customStore.myEncryptingStore.value.keyStorePath=classpath:keystoresenc.jks
simpleContentStores.customStore.myEncryptingStore.value.keyStorePassword=password
simpleContentStores.customStore.myEncryptingStore.value.masterKeyAlias=alfrescoenc
simpleContentStores.customStore.myEncryptingStore.value.masterKeyPassword=password
simpleContentStores.customStore.myEncryptingStore.value.masterKeyStoreId=SimpleContentStores
simpleContentStores.customStore.myCustomFileStore.type=standardFileStore
simpleContentStores.customStore.myCustomFileStore.value.rootAbsolutePath=C:/Alfresco/alf_data/myContentStore
simpleContentStores.customStore.myCustomFileStore.value.deleteEmptyDirs=true
simpleContentStores.customStore.myCustomFileStore.value.protocol=store
simpleContentStores.customStore.myCustomFileStore.value.fixedLimit=104857600
On Mon, Nov 2, 2020 at 4:41 PM Axel Faust<EMAIL_ADDRESS>wrote:

I don't know how I can help / support you more (except for giving you
ready-to-use code for your environment, which I obviously can't and won't)
other than advising you to:

configure a property routing content store with the default file
content store as the default / fallback store and the encrypting store as a
store mapped to a specific property value (you can use the default
content store selector aspect
https://github.com/Alfresco/alfresco-repository/blob/master/src/main/resources/alfresco/model/contentModel.xml#L1319
or an aspect of your own)
option a) configure a form or action in whatever UI you are using
(Share / ADF) to change the value of the selector property and execute a
property change for any document you want encrypted
option b) implement / run a script, job or action which processes
batches of your existing documents to change that selector property without
minimal / no user interaction

You have the documentation of the selector store (correct link provided
in my last response), and problably know best about your system, UI and
custom metadata model to decide which of the option you need / should take.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/Acosix/alfresco-simple-content-stores/issues/31#issuecomment-720406140,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHHBMAMACJYFRPGJYVGOTULSN2HXTANCNFSM4S4MUPUQ
.

--
Sagar Nimmala
+91<PHONE_NUMBER>

--
Sagar Nimmala
+91<PHONE_NUMBER>

Use selectorPropertyRoutingStore instead of selectorPropertyStore - apparently the name was changed at some point but the documentation was not yet updated.

Hi Axel,
Thanks, now it is not throwing error. I have added below configuration and
added a script to add "Aspect and Property", but it is not copying the
content to the encrypted store. Can you please let what i am missing.
simpleContentStores.enabled=true
simpleContentStores.customStores=myEncryptingStore,myCustomFileStore,propertyRoutingStore,defaultTenantFileContentStore
simpleContentStores.rootStore=propertyRoutingStore
simpleContentStores.customStore.propertyRoutingStore.type=selectorPropertyRoutingStore
simpleContentStores.customStore.propertyRoutingStore.ref.fallbackStore=defaultTenantFileContentStore
simpleContentStores.customStore.propertyRoutingStore.value.selectorClassName=cr:documentary
simpleContentStores.customStore.propertyRoutingStore.value.selectorPropertyName=cr:storeName
simpleContentStores.customStore.propertyRoutingStore.map.storeBySelectorPropertyValue.ref.encrypt=myEncryptingStore
simpleContentStores.customStore.myEncryptingStore.type=encryptingFacadeStore
simpleContentStores.customStore.myEncryptingStore.ref.backingStore=myCustomFileStore
simpleContentStores.customStore.myEncryptingStore.value.keyStorePath=classpath:keystoresenc.jks
simpleContentStores.customStore.myEncryptingStore.value.keyStorePassword=password
simpleContentStores.customStore.myEncryptingStore.value.masterKeyAlias=alfrescoenc
simpleContentStores.customStore.myEncryptingStore.value.masterKeyPassword=password
simpleContentStores.customStore.myEncryptingStore.value.masterKeyStoreId=SimpleContentStores
simpleContentStores.customStore.myCustomFileStore.type=standardFileStore
simpleContentStores.customStore.myCustomFileStore.value.rootAbsolutePath=C:/Alfresco/alf_data/myContentStore
simpleContentStores.customStore.myCustomFileStore.value.deleteEmptyDirs=true
simpleContentStores.customStore.myCustomFileStore.value.protocol=store
simpleContentStores.customStore.myCustomFileStore.value.fixedLimit=104857600
Script for Aspect and Property is:
var node = document;
if(node.isDocument){
if(!node.hasAspect("cr:documentary"))
node.addAspect("cr:documentary");
node.properties["cr:storeName"] = "encrypt";
node.save();
}
My custom model is:

Custom Documentary

Store Name
d:text

true
true
true

On Wed, Nov 4, 2020 at 11:22 AM Axel Faust<EMAIL_ADDRESS>wrote:

Use selectorPropertyRoutingStore instead of selectorPropertyStore -
apparently the name was changed at some point but the documentation was not
yet updated.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/Acosix/alfresco-simple-content-stores/issues/31#issuecomment-721526461,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHHBMAI4BHX23KUJJM2TZ6TSODTY3ANCNFSM4S4MUPUQ
.

--
Sagar Nimmala
+91<PHONE_NUMBER>

You are missing the moveStoresOnChange property in your configuration.

Hi Axel,
Please correct me, from documentation I understood  moveStoresOnChange
will move if we set true, else it will copy. As I didn't it should copy the
content when property value is set.
On Thu, Nov 5, 2020 at 2:36 PM Axel Faust<EMAIL_ADDRESS>wrote:

You are missing the moveStoresOnChange property in your configuration.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/Acosix/alfresco-simple-content-stores/issues/31#issuecomment-722243930,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHHBMAKNOVDFKT7KGO4T3RTSOJTH7ANCNFSM4S4MUPUQ
.

--
Sagar Nimmala
+91<PHONE_NUMBER>

Documentation: "This functionality must be explicitly enabled via the configuration."

Hi Axel,
I have added moveStoresOnChange=true, but the content is being copied is not moving from default store. As a result the disk space is growing. Can you please tell me how can I move instead of copy.
Thanks,
Sagar

I refer you again to the documentation: "Instances of this store type will only ever copy contents between backing stores. Similar to Alfresco default behaviour for deleting content, the content in the old location will not be actively deleted by default. If the previous content URL is no longer associated with any other content data instance in Alfresco, the URL will be marked as an orphan and be be eligible for a move into the contentstore.deleted directory after a configurable grace period (default 14 days) has elapsed. By configuring the Alfresco orphan cleanup to be "eager", that is immediately process any orphaned content URLs at the end of a transaction, the copy operation of this store can effectively be turned into a move operation."
The Alfresco documentation explains the orphan handling and most configuration properties related to it. What it lacks is the mention of the flag for eager content cleanup which needs to be set in alfresco-global.properties to enable (almost) immediately deletion of the old file. NOTE: This is a global flag which does not only affect this content store, but any handling of content in Alfresco. Use this with caution and only if your backup / recovery process can deal with it.

Hi Axel,
I have set the store name as "encStore", but still the old content url is
not orphaned even after 15 days.
Can you please help me in removing the duplicate when we move to
encryptStore using property behaviour.
On Wed, Mar 17, 2021 at 2:55 PM Axel Faust @.***> wrote:

I refer you again to the documentation
https://github.com/Acosix/alfresco-simple-content-stores/blob/master/docs/SelectorPropertyStore.md#copying--moving-content-between-stores:
"Instances of this store type will only ever copy contents between backing
stores. Similar to Alfresco default behaviour for deleting content, the
content in the old location will not be actively deleted by default. If the
previous content URL is no longer associated with any other content data
instance in Alfresco, the URL will be marked as an orphan and be be
eligible for a move into the contentstore.deleted directory after a
configurable grace period (default 14 days) has elapsed. By configuring the
Alfresco orphan cleanup to be "eager", that is immediately process any
orphaned content URLs at the end of a transaction, the copy operation of
this store can effectively be turned into a move operation."
The Alfresco documentation explains the orphan handling and most
configuration properties related to it
https://docs.alfresco.com/content-services/6.0/admin/content-stores/#content-stores-overview.
What it lacks is the mention of the flag for eager content cleanup
https://github.com/Alfresco/alfresco-community-repo/blob/9.0/repository/src/main/resources/alfresco/repository.properties#L212
which needs to be set in alfresco-global.properties to enable (almost)
immediately deletion of the old file. NOTE: This is a global flag which
does not only affect this content store, but any handling of content in
Alfresco. Use this with caution and only if your backup / recovery process
can deal with it.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/Acosix/alfresco-simple-content-stores/issues/31#issuecomment-800930682,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHHBMAJLO7JMWMBN3TCSR7DTEBYRBANCNFSM4S4MUPUQ
.

--
Sagar Nimmala
+91<PHONE_NUMBER>

If you configured your file store to use a different protocol to ensure that content URLs are unique between the default and the encrypted store, Alfresco would cleanup the old content after the orphan grace period. Since your simpleContentStores.customStore.myCustomFileStore.value.protocol is set to store, which is the default protocol in Alfresco, the content URL after copy into the encrypted store is identical to the original content URL, and Alfresco is unable to detect it as being orphaned, so can not clean up the original one from the unencrypted store. Change the protocol to something unique, and you will see that the default orphan handling of Alfresco will take care of removing duplicates (note: existing duplicates before the configuration change will not be cleared up - you'd have to toggle the store selector once to the original value and back to the encrypted store value, so it runs through the copy one more time, resulting in a unique content URL).

Hi Axel,
I set store to different store, please find the configuration below. but
the old file still there also it is not orphaned, find the screenshot from
DB.
simpleContentStores.customStore.myEncryptingStore.type=encryptingFacadeStore
simpleContentStores.customStore.myEncryptingStore.ref.backingStore=myCustomFileStore
simpleContentStores.customStore.myEncryptingStore.value.keyStorePath=classpath:keystoresenc.jks
simpleContentStores.customStore.myEncryptingStore.value.keyStorePassword=password
simpleContentStores.customStore.myEncryptingStore.value.masterKeyAlias=alfrescoenc
simpleContentStores.customStore.myEncryptingStore.value.masterKeyPassword=password
simpleContentStores.customStore.myEncryptingStore.value.masterKeyStoreId=SimpleContentStores
simpleContentStores.customStore.myCustomFileStore.type=standardFileStore
simpleContentStores.customStore.myCustomFileStore.value.protocol=encStore
simpleContentStores.customStore.myCustomFileStore.value.rootAbsolutePath=${dir.root}/encryptContentStore
simpleContentStores.customStore.myCustomFileStore.value.deleteEmptyDirs=true
simpleContentStores.customStore.myCustomFileStore.value.fixedLimit=104857600
[image: image.png]
On Fri, Apr 9, 2021 at 4:48 PM Axel Faust @.***> wrote:

If you configured your file store to use a different protocol to ensure
that content URLs are unique between the default and the encrypted store,
Alfresco would cleanup the old content after the orphan grace period. Since
your simpleContentStores.customStore.myCustomFileStore.value.protocol is
set to store, which is the default protocol in Alfresco, the content URL
after copy into the encrypted store is identical to the original content
URL, and Alfresco is unable to detect it as being orphaned, so can not
clean up the original one from the unencrypted store. Change the protocol
to something unique, and you will see that the default orphan handling of
Alfresco will take care of removing duplicates (note: existing duplicates
before the configuration change will not be cleared up - you'd have to
toggle the store selector once to the original value and back to the
encrypted store value, so it runs through the copy one more time, resulting
in a unique content URL).
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/Acosix/alfresco-simple-content-stores/issues/31#issuecomment-816612082,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHHBMAOKDCNGYGVIOT2WU6DTH3PCHANCNFSM4S4MUPUQ
.

--
Sagar Nimmala
+91<PHONE_NUMBER>

Apparently if you sent comments to GitHub via email, the attached / inlined images are not properly carried over, so I don't see your screenshot. Have you made sure that the orphan protect duration is sufficiently low or that eager orphan cleanup is enabled? Otherwise (if Alfresco default configuration is used), it is normal that the file is still there and remains there for up to 14 days.

Hi Axel,
Please find the screenshot here. I haven't enabled eager cleanup but, it has been more than 15 days so it should be cleaned up.

Thanks,
Sagar

And have you checked which node is referencing the old content_url? If the node in question uses versioning, then any old version of that node still references the old content URL and it will never be orphaned as long as the old version is not deleted. When Alfresco versions nodes, the values of the properties are decoupled, so if you move the content for the "current" version, the old version is unaffected by this.


hyprpm: install headers locally

cc @zakk4223 @DreamMaoMao @fufexan
hyprpm will now install headers locally to $XDG_DATA_HOME/hyprpm/headersRoot
Should completely eliminate duplicate headers / system headers issues.
hyprpm will now refuse to use system headers altogether:
https://github.com/hyprwm/Hyprland/blob/81d26cf4d2b930fe7add74867175ee5787f4f88b/hyprpm/src/core/PluginManager.cpp#L285-L290
They are unreliable all things considered and to be frank who cares.
Bonus: no more asking for password to install headers.
Needs some testing, seems to pass my short tests.

I like how i just realized I hardcoded the path with my user name lol

@jbeich would this change allow us to --skip-subprojects in https://github.com/hyprwm/hyprland-wiki/pull/200?

Ok, finally got to test this after wasting a bunch of time discovering makepkg clobbers branch names :/
All seems good to me. Normal and forced update both worked without header conflicts.
When plugins don't load due to mismatch sometimes the notification gets hidden by the big red config syntax error banner, but that's not an issue with this PR; I'll (eventually) create another issue for that one.

top. Merging then. Thanks bros


Continue starting up if fastly is down

Right now if Fastly is down or a temporary network glitch is occurring during startup the exporter crashes:
fastly # [    7.238528] prometheus-fastly-exporter-start[935]: level=error component=api.fastly.com during="initial API calls" err="error executing API services request: Get \"https://api.fastly.com/service\": dial tcp: lookup api.fastly.com: Temporary failure in name resolution"
fastly # [    7.242486] systemd[1]: prometheus-fastly-exporter.service: Main process exited, code=exited, status=1/FAILURE

For me it would be preferable for the exporter to continue starting up but emit a metric saying Fastly seems to be down.
re https://github.com/NixOS/nixpkgs/pull/151427/files#diff-e669f3682eb07a05197060a93f278ff57f160465c8168906e12f1f2c472026d8R262-R273

Yep, this would be better.


Docs updates

Coverage remained the same at 92.769% when pulling d32264a54b33a89b5e6fe00351c377d4d401a45c on docs into 27aa33b23e0150b46dabc6bdcb660ebf230df9d8 on main.


Add logging system

Currently exceptions and error messages are printed out to console.
That works fine for quick unit testing.
But in the long run, an appropriate logging system should be added.

catch general Exception in all methods


IGAPP-xxx: Move release notes for better overview

This pull request belongs to an issue on our bugtracker.
You can find it there by looking for an issue with the key which is mentioned in the title of this pull request.
It starts with the keyword IGAPP.

I created a new 2022 folder and moved the corresponding release notes there consistent to the years before that.


feat(API): Set AppSyncRTClient log level from Amplify log level

Issue #, if available:
Description of changes:
Sets AppSyncRealTimeClient's log level based on Amplify.Logging.logLevel at config time
Check points: (check or cross out if not relevant)

[ ] Added new tests to cover change, if needed
[ ] Build succeeds with all target using Swift Package Manager
[ ] All unit tests pass
[ ] All integration tests pass
[ ] Documentation update for the change if required
[ ] PR title conforms to conventional commit style
[ ] If breaking change, documentation/changelog update with migration instructions

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

Merging #1637 (3e7f829) into main (2c57ccc) will increase coverage by 0.06%.
The diff coverage is 57.00%.

@@            Coverage Diff             @@
##             main    #1637      +/-   ##
==========================================
+ Coverage   59.18%   59.24%   +0.06%
==========================================
  Files         712      679      -33
  Lines       21639    20506    -1133
==========================================
- Hits        12806    12148     -658
+ Misses       8833     8358     -475

Flag
Coverage Δ

API_plugin_unit_test
62.31% <83.33%> (-0.06%)
:arrow_down:

AWSPluginsCore
71.37% <52.00%> (-0.24%)
:arrow_down:

Amplify
46.90% <0.00%> (-0.06%)
:arrow_down:

Analytics_plugin_unit_test
71.76% <ø> (ø)

Auth_plugin_unit_test
79.10% <61.42%> (-0.51%)
:arrow_down:

DataStore_plugin_unit_test
76.10% <ø> (+0.01%)
:arrow_up:

Geo_plugin_unit_test
52.12% <ø> (ø)

Predictions_plugin_unit_test
26.81% <ø> (ø)

Storage_plugin_unit_test
?

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

.../Categories/Auth/AuthCategory+ClientBehavior.swift
0.00% <0.00%> (ø)

...Categories/Auth/AuthCategoryBehavior+Combine.swift
0.00% <0.00%> (ø)

...ategories/Auth/Request/AuthDeleteUserRequest.swift
0.00% <0.00%> (ø)

...ns/API/AWSAPICategoryPlugin/AWSAPIPlugin+Log.swift
100.00% <ø> (ø)

...nitoAuthPlugin/HubEvents/AuthHubEventHandler.swift
47.69% <0.00%> (-5.76%)
:arrow_down:

...rvice/AWSMobileClient/AWSMobileClientAdapter.swift
12.90% <0.00%> (-0.22%)
:arrow_down:

...nitoAuthPlugin/Support/Utils/AuthErrorHelper.swift
77.20% <0.00%> (ø)

...Configuration/AmplifyAWSServiceConfiguration.swift
82.60% <ø> (ø)

...AuthorizationProviderAdapter+SignedInSession.swift
85.91% <10.00%> (-5.76%)
:arrow_down:

...e/AWSPluginsCore/Model/Support/Model+GraphQL.swift
76.14% <47.82%> (-7.58%)
:arrow_down:

... and 44 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 98a1fcd...3e7f829. Read the comment docs.


add Optional typescript module

Close #4057

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Thomas Lambert seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

Another comment:

Can you put a different package-info.java inside each folder plz (instead at the root of typescript folder):

core
optional

Thanks a lot for your contribution @thomaslmbrt !


Make size of array in foreach available

It seems at the moment it is only possible to get the current index in the foreach. It can also be very useful to get the size of the current array in the foreach body to do check against index and the number of items. Alternatively a boolean variable such as isLastItem could also be provided.

Though we still have to properly test handling of modifiers inside if-statements. It is already possible to access the size of the array using;
[varArray *sizeof]
It might be nice to have access to a direct variable containing this information inside the foreach loop though.
To keep variables as clear as possible I would suggest being able to specify a variable in the foreach tag somehow, which would then contain some meta information like size, index, isFirstItem and isLastItem.
For example;
[foreach varArray as var describe meta]
     Value: [var]
     Index: [meta.index]
     Size: [meta.size]
     First: [meta.isFirstItem]
     Last: [meta.isLastItem]
[/foreach]

Any ideas on this?

@ttveldhuis I think this looks good, although I would suggest using the word with instead of describe as this reads a little nicer and fits a little better in my opinion, describe sounds like the meta object will be something that will never change. Also, this should be an optional addition, it should still be possible to just declare a foreach as [foreach varArray as var]
What do you think?

I've added the functionality to retrieve meta-information for items in a foreach. The index variable no longer works.
You can either use;
[foreach varArray as var describe meta]
     Value: [var]
     Index: [meta.index]
     Size: [meta.size]
     First: [meta.isFirstItem]
     Last: [meta.isLastItem]
[/foreach]

or
[foreach varArray as var provide meta]
     Value: [var]
     Index: [meta.index]
     Size: [meta.size]
     First: [meta.isFirstItem]
     Last: [meta.isLastItem]
[/foreach]

I don't really like either of the keywords describe or provide but if we come up with something better it can be easily added or modified.

8c9152ddc33bcba598b9bc2adc18ae3933bb7855


Some problem with downloading PressureVisionDB Dataset

While downloading the file, when it reaches about 59% of downloading the "9010_cray_crane.zip" file, it suddenly stops and gives an output that says,
FileNotFoundError: [Errno 2] No such file or directory: 'data/test/9010_cray_crane.zip
Could you please check if it works? I'm wondering if I'm the only one having this issue.
Thanks.

Yes, the downloading script is currently not very robust. Each of the downloaded files are very large, ~30 GB, and any network errors cause the downloader to fail. You can try to download the file in your browser (links in the script). I’m working on a better download method and a smaller dataset, which I hope to release in the next week.

something wrong while prediction trainer, done loading dataset is ok, finished training epoch has someting wrong; error is ValueError: Expected both predictions and target to be either 1- or 2-dimensional tensors, but got 3 and 3; I wonder how to solve it.
Thanks!

Closing this because the original question was answered, and we released the smaller version of the dataset.
@zlz212 Can you open a new issue and share the stack trace for your exception? What you shared isn't really enough to be useful.


Fix sentence issue in CONTRIBUTING.md

The sentence in CONTRIBUTING.md was confusing. It looks like there was an incomplete thought there. Removed unnecessary words.

This change is

Thanks for this! Could you please do git commit --amend -s to signoff your commit and accept the DCO, and then git push -f to force-push the rewritten commit?

Signed DCO, thanks!


Video question

Is it possible to play and stop videos from youtube or vimeo in glide.js?

It's not job for glide itself. You need to search on stackoverflow how to stop video via youtube API and run that code in before/afterTransition callback.
beforeTransition; function() {
    // code for pausing video
}

Ok thanks! That's where I am into... ;-)


training operator needs an AuthorizationPolicy with istio

I tried the sample
https://github.com/kubeflow/training-operator/blob/master/examples/pytorch/simple.yaml
in my kubeflow cluster and I was getting the following error in the istio side-car when looking with
kubectl logs <pod_id> -n kubeflow --all-containers

The error:
rbac_access_denied_matched_policy[none]

I added the following policy to avoid the error
apiVersion: security.istio.io/v1beta1
kind: AuthorizationPolicy
metadata:
  name: training-operator
  namespace: kubeflow
spec:
  action: ALLOW
  rules:
  - to:
    - operation:
        ports:
          - "23456"

but it is still not working.
Now it seems to hang on the discovery of the c10d.
I see logs from nslookup but can't figure where they are from.
I am wondering if the istio side-car injection interferes with the pytorch-operator

I was having this issue: https://github.com/kubeflow/training-operator/issues/1636
but i found how to disable the istio-side-car, and that means there is no need for this AuthorizationPolicy


Custom docker images in connectable builds on resin-zc702

Connects to resin-os/meta-resin#133-supervisor-custom-image-tag
@telphan @floion

LGTM