Endeca CAS Data needs to be corrected - endeca

My Endeca App CAS data is corrupted and it needs to be corrected.
Background of the Issue:
Some products in the BCC DB are having a line break in their displayname and description.
For example, this is the product display name: "Saregama Carvaan R20005 Portable Digital Music Player."
Earlier it was in the DB as: "Saregama Carvaan R20005 Portable Digital Music Player"
I have corrected in the DB and done an indexing. But still in the CAS, when I read the dimensions. It's not updated and it has the same line breaks.
"product.displayName","Saregama Carvaan R20005 Portable Digital Music Player
","98987766"
I will corrected this line break and the import the dimensions again.
Correct format: "product.displayName","Saregama Carvaan R20005 Portable Digital Music Player","98987766"
What I understood is the CAS dimensions are not able to accept the changes for the corrupted values even though its corrected in the Database.
Kindly let me know is there anyway, we can manipulate the data directly in the CAS.

I work on a windows environment so my scripts assume you do to. Alternatively the concepts are the same but you just need to update your references to be Unix based.
Replace the %PROJECTNAME% in this solution with the actual name of your Endeca application.
Extract CAS data and state
c:\Endeca\CAS\11.2.0\bin\cas-cmd.bat exportDimensionValueIdMappings -m %PROJECTNAME%-dimension-value-id-manager -f c:\temp\dimvalidmapping.csv
Your file will now contain multiple entries for this element. It will likely look as follow:
...
"product.displayName","Saregama Carvaan R20005 Portable Digital Music Player
","98987766"
...
"product.displayName","Saregama Carvaan R20005 Portable Digital Music Player","12345678"
...
You now need to decide, do you want to retain the existing ID (ie. 98987766) for the element that was incorrect, or do you want to retain the new ID (after you've removed the line break in your source data)?
Assume you want to retain the original one, using your favourite text editor, simply remove the line break on the line and delete the subsequent 'new' entry. Alternatively, remove the original element with the line break. Save the file and then import it again.
Import Cleaned CAS data
C:\Endeca\CAS\11.2.0\bin\cas-cmd.bat importDimensionValueIdMappings -m %PROJECTNAME%-dimension-value-id-manager -f c:\temp\dimvalidmapping.csv
Your import may fail if there are more line breaks in the file. You will need to correct them all before importing. Repeat the cleanup process above.
Now kick off a baseline index and from this point on-wards you should have the name mapped to the right dimension id.

Related

VB.net simple license key to protect application

I working on a simple vb application. But I want to protect it to give the user the option to use it only for a specific time.
So I was thinking to make a text file with a key-code (Beside Random characters, it contains an expire date). When the application is started after this expire date, the application should close automatically.
The location where this textile is location can be the same location where the executable is running from.
Does somebody of you have a good idea how to implement it? Or is there a easier way how to implement this
If you want to give a "Trial period" to your application you might want rather hard-code that to prevent tampering. Then, when purchased make a modification to registry and different files (maybe downloads a few files that "register" the application so that it recognizes itself as "full". To go one step further maybe periodically have the application reach out to your server and verify the license.
This is a huge subject that a lot of smarter people than me can weigh in on. I will note that this is part of a constant battle between developers and hackers trying to get around licensure.
To make software unlocked for some period of time, you can create text file on websites like Pastebin and add them an expiry date. Then make your software check if file is still valid.
Note that users can "track down" requests your software sends, never store your private information linked with your software.
You can also use HWID protection which ensures your software will work only if it matches hardware information stored in encrypted string.
You can hash other user's information like username, wifi name and so on, but remember that changing any of this information (OS, hardware or system information) will create new unique HWID, which may not match the previous one - resulting in failed HWID authorization.
To make bypassing protection harder, you can obfuscate your software.

All Documents converted to .vvv extension (TeslaCrypt)

I've found something strange with my employee document, it turns out that all files including document are being encrypted with ".vvv" extension. What I've found so far that it's called TeslaCrypt, it convert all my files to .vvv, even I rename it back to the right extension, it says that file already modified, so I can't open the files anymore. Please help, we cannot work until that document can be oppened. I can't tag this to "TeslaCrpyt" so if anyone can help me tagged it, it would be great.
content on how to recover :
What happened to your files ?
All of your files were protected by a strong encryption with RSA-4096.
More information about the encryption keys using RSA-4096 can be found here: http://en.wikipedia.org/wiki/RSA_(cryptosystem)
What does this mean ?
This means that the structure and data within your files have been irrevocably changed, you will not be able to work with them, read them or see them,
it is the same thing as losing them forever, but with our help, you can restore them.
111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
How did this happen ?
---Specially for your PC was generated personal RSA-4096 KEY, both public and private.
---ALL YOUR FILES were encrypted with the public key, which has been transferred to your computer via the Internet.
111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
Decrypting of your files is only possible with the help of the private key and decrypt program, which is on our secret server.
What do I do ?
So, there are two ways you can choose: wait for a miracle and get your price doubled, or start obtaining BTC NOW, and restore your data easy way.
If You have really valuable data, you better not waste your time, because there is no other way to get your files, except make a payment.
For more specific instructions, please visit your personal home page, there are a few different addresses pointing to your page below:
1. http://vr6g2curb2kcidou.encpayment23.com/E03029AB7D9A9D38
2. http://vr6g2curb2kcidou.expay34.com/E03029AB7D9A9D38
3. http://psbc532jm8c.hsh73cu37n1.net/E03029AB7D9A9D38
4. https://vr6g2curb2kcidou.onion.to/E03029AB7D9A9D38
If for some reasons the addresses are not available, follow these steps:
1. Download and install tor-browser: http://www.torproject.org/projects/torbrowser.html.en
2. After a successful installation, run the browser and wait for initialization.
3. Type in the address bar: vr6g2curb2kcidou.onion/E03029AB7D9A9D38
4. Follow the instructions on the site.
IMPORTANT INFORMATION:
Your personal pages:
http://vr6g2curb2kcidou.encpayment23.com/E03029AB7D9A9D38
http://vr6g2curb2kcidou.expay34.com/E03029AB7D9A9D38
http://psbc532jm8c.hsh73cu37n1.net/E03029AB7D9A9D38
https://vr6g2curb2kcidou.onion.to/E03029AB7D9A9D38
Your personal page (using TOR-Browser): vr6g2curb2kcidou.onion/E03029AB7D9A9D38
Your personal identification number (if you open the site (or TOR-Browser's) directly): E03029AB7D9A9D38
111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
I've published a decryption tool on GitHub: https://github.com/googulator/teslacrack
This tool cryptographically breaks the encryption scheme of TeslaCrypt, and so doesn't require a saved master key. However, it's quite computationally intensive, so preferably use a fast computer, and even then, expect to wait up to a week for it to recover your key (although most keys can be found in just a few hours). Also, it's more of a PoC than a user-friendly turnkey decryptor, so you will need to do many things by hand.
I got hit by TeslaCrypt and all of the solutions (Cisco's Decrypt Tool, Shadow Explorer) did not work for me. Unrelated, I was sniffing around some articles on Ubuntu and found BloodDolly's Tesla Decrypter tool that actually work and my files are being restored as I write this. So just wanted to share since it didn't come up in any of my earlier searches.
It's a handful a steps,...I had no problems whatsoever with the process. Apparently this won't work for the most recent strain,...I had .vvv and had to factor primes with Yafu,...but the documentation and the software is pretty thorough and easy to follow. Took me 15-20 minutes from start to finish.
http://www.bleepingcomputer.com/forums/t/576600/tesladecoder-released-to-decrypt-exx-ezz-ecc-files-encrypted-by-teslacrypt/
Anyway, hope this helps some folks.

Dropbox Webhooks API

I want to fetch the events related to my dropbox like I can see here , means I want to get when a particular file is added, changed, moved, deleted or renamed and by which user.
I have looked into the Webhooks docs. The webhook docs states the the response it sends to the callback url contails the userids, with which I can update the directory listing based on the webhook response for the user by calling the /delta.
But with it I cannot tell if there is an operation made for a file like a particular file has been renamed or deleted as since if I rename a file fro abc to xyz. If I get a response then I will look for the changes related to the file xyz which I will not find in my existing database so logically I will be making the events as deleted abc and added xyz, where as the reality is renamed abc to xyz.
It will be really grateful if you can help me regarding this.
There's no real way to detect a rename (versus a delete and an add) via the Dropbox API. You can use heuristics (like whether the new file has the same contents as the old file and was created around the same time as the old file was deleted), but those are just going to be guesses with varying levels of accuracy.
Also, there's currently no way via the API to see which user modified a file in a shared folder.
UPDATE: The Core API now includes (in beta) the ability to see who last modified a file in a shared folder. See https://www.dropbox.com/developers/blog/101/new-in-beta-shared-folder-metadata.
A file rename is reported as DeletedMetadata followed by a FileMetadata for the file.
What is annoying is that DeletedMetadata do not contain the file .id attribute, only .name and .path, while FileMetadata include all attributes (.id same as before any deletions/renames, updated .name and .path).
So you should have a local mapping connecting names/paths and IDs in order to know which file got deleted (when only DeletedMetadata is received) or renamed (when both DeletedMetadata and FileMetadata are received).

Sandboxed Applications, Where to Save Files Without User Interaction

I'm a bit confused about where the application should send a bunch of files. Let me suppose that an application accepts a number of images with NSOpenPanel at a time from the user. The application applies graphic filters to them. And it's now ready to save processed files. Before they forced us to sandbox applications, we were allowed to export processed files to application folder in Application Support without NSSavePanel. If you wanted to save files elsewhere, then you had to use NSSavePanel. If the application is sandboxed, it cannot send files to NSApplicationSupportDirectory/{app name}(which points to the containers folder assigned to this application)? My first sandboxed application was rejected a few days ago merely because a text field showed a path to container's application support folder. So if you have a bunch of files to export, you have to prompt the user to ask where to save each file? AppSandboxDesignedGuide, which Apple, Inc. has issued, has nothing to say exactly about where to save files except that it says "Your app has unrestricted read/write access to the container and its subdirectories." I think this PDF guide is a printed version of this web site. I'm asking this question here because I have some doubts and reviewers were often wrong at least when I submitted applications to them two years ago.
Thank you for your advice.
If the files are only for the application itself to use you can save the files in "Application Support/", which under the sandbox is under your container, just as before - just use the APIs to construct the path to that folder (and create it, it doesn't exist automatically, just as before).
If you are outputting files for the user to access then you don't put them in the container - that folder is meant to be hidden from ordinary users, though yours is the first time I've heard that even showing the path got you a rejection, but Apple are pretty random.
Here are three choices of where to put your files:
First is to ask the user. This is what you would normally do anyway, you shouldn't just dump files somewhere.
Second is a situation that the sandbox makes harder - when where the file should is is implicit, e.g. a graphic conversion program might sensibly output the converted file with the same name but different extension in the same folder as the original. This was finally addressed by Apple around 10.8.3 or something with "Related Items" - Apple's docs for this are here. Essentially in the Document Types in the Info.plist you must list all the extensions you handle - both in and out - and add a NSIsRelatedItemType key with the value of YES to all those you might convert between. E.g. For TextEdit .rtf, .rtfd and .txt are flagged in this way so TextEdit can open as one format and save as another.
Third, if you wish to put all your files in one location, say in a "Converted Items" folder. Then you ask the user once to specify this folder and then save a security-scoped bookmark to that folder in your applications defaults or elsewhere in your app's container. On subsequent executions you can access this bookmark and regain access to the folder. For an introduction to this start with Apple's Security-Scoped Bookmarks and Persistent Resource Access. This is really no harder than pre-sandbox as any decent app would always ask for the location of the folder from the user, the difference is the need to save the security-scoped bookmark so the user doesn't need to give permission every time.
HTH.

Externally triggering Thunderbird into displaying a wanted message

I would like having a way to trigger Thunderbird, from an external script, into displaying a particular message in a particular folder.
If it were Firefox, say, I would use firefox -new-tab http://some-URL, and an already running Firefox (or a new one if none) would nicely fetch and display URL. But I found no way to do something equivalent with Thunderbird, neither on the Thunderbird site or through existing extensions, and even after some furious Googling around, which I attempted more than once!
One problem, compared to a plain URL, is the need some notation for selecting a message. Short of a better solution, I wrote a script which knows folder:SOME-FOLDER:ORDINAL, and behaves like an extension of xdg-open. My tool inserts a proper prefix and a few .sbd as needed within the SOME-FOLDER part to turn it into an absolute Thunderbird file reference, and ORDINAL picks a message in that folder. My tool then grabs the message, heuristically converts it into HTML file, and then, directs a Web browser to the resulting file (and if :ORDINAL is not given, it processes the whole folder instead, yielding an HTML index and many linked messages).
My current tool helps a bit at saving message references in other documents and efficiently retrieving them later, but I handle a copy of the Thunderbird message, and not the original. So if I want to delete it, refile it in another Thunderbird folder, and do other similar operation, I still have to go to Thunderbird, interactively find my way again to the wanted message before I can handle it, and this, is not efficient. What I'm dreaming of is a way to get rid of all my HTML conversion and browser trickery, but still keep the pseudo-URL paradigm and pseudo xdg-open interface, to directly force Thunderbird into the correct folder, with the wanted message correctly displayed.
In previous email readers I used (Emacs RMAIL and then Gnus, and Mutt as well later), such things could be managed, and I heavily used such capabilities in scripts. I am astonished, surprised, even a bit dismayed, by the apparent weakness of Thunderbird as a scriptable mail reader. Am I missing something evident? Any avenue or suggestion?
François
P.S. Of course, I agree that using ORDINAL is not very clever. It might mean a different message if the folder get some messages added or deleted. This is a lesser bad. A better but potentially heavier notation might use Message-ID values, but then, an index would also be needed to find the Thunderbird folder containing each message.
There seems to be some way to do it since Google Desktop supported it according to this thread - http://forums.mozillazine.org/viewtopic.php?f=39&t=584542. Perhaps try installing Google Desktop and see what kind of hyperlink its using?
I'll add Outlook supports using external hyperlinks using the outlook: naming scheme, for example outlook:Inbox or outlook:0000000007A2379547B0624691F4FB2E5468A0D7642E2000. See http://www.davidtan.org/create-hyperlinks-to-outlook-messages-folders-contacts-events/ for more info.