Closed (won't fix)
Project:
XML sitemap
Version:
6.x-1.x-dev
Component:
Code
Priority:
Normal
Category:
Feature request
Assigned:
Unassigned
Reporter:
Created:
23 Dec 2008 at 07:48 UTC
Updated:
16 Jan 2009 at 17:25 UTC
I have no idea why this have been removed, but there are many users that need it and there is no other way than the one that was implemented. Please turn back the change from http://cvs.drupal.org/viewvc.py/drupal/contributions/modules/xmlsitemap/...
Comments
Comment #1
avpadernoThe implementation of
hook_robotstxt()which was made from XML Sitemap is incompatible with the support for web sites with more than one language that I am going to implement.As the module should use an absolute path for the site map, what is it supposed to use? http://example.com/en/sitemap.xml, or http://example.com/it/sitemap.xml, or http://example.com/es/sitemap.xml?
Comment #2
avpadernorobotstxt.module makes possible to edit the robots.txt file. As it's not possible for XML Sitemap to guess the right URL to pass in a web site supporting more than one language (especially because to support such web sites it needs to use
url()), the module can insert the line he needs manually.Comment #3
hass commentedThank you for removing a great feature that is required for all multi-site installations.
You need to provide all languages in one http://example.com/sitemap.xml. We cannot tell Google about subdirectory files automatically. Nobody must create and add his sub sitemaps in a webaccount at google. This was the case in past, but is no longer the case. Now we need to use robots.txt for this and I have added this feature to robotstxt to not make users to add it manually to their robots.txt. Keep in mind that many users are not aware about this. Not everybody who use xmlsitemap have read the specs.
Comment #4
avpadernourl(), the only way to support sites with more than one language enabled is to proceed like I reported.The module will support multi-domain sites by allowing to set an authentication parameter for each of the domains handled by the same Drupal installation.
Comment #5
hass commentedThis functionality is ultra important. Don't try to tell me how locale module is working, please. I know it works differently, but xmlsitemap needs to workaround the url() function here. We really need this as we don't like to configure 100 sites manually. Also see http://www.sitemaps.org/protocol.php#informing how SE are informed normally. It is very atypical and *time consuming* to add them by hand into a web interface at google. We don't like to do this for all sites, but all site pages should be in the search engines. Don't forget that not all search engines have such interfaces, but all can read the files. Using the robots.txt is a standardized way. Additionally the SE's don't search by default for sitemap.xml. The protocol says it uses the info in robots.txt to figure out if there is a sitemap or not.
Please fix this.
Comment #6
avpadernoThere isn't a way to workaround the
url()function, and be compatible with languages to which is assigned a domain. If you know how locale.module works, then you should know that too.The only thing you must do is to add that line using robotstxt.module.
The change on the module has made to support a feature which has been requested, and not because i wanted to break existing web sites.
Comment #7
hass commentedMaybe someone else understand this request better that we need for sites with path based detection one big sitemap.xml and that this may require to rebuild the url() function into a xmlsitemap_url() function that works as xmlsitemap needs this and not how locale module is currently implemented.
If you don't like to hear the xmlsitemap module users requirements - let other hear, please. And keep the case open for someone else who likes to work on a patch to solve this and give us one single /sitemap.xml file for all languages (path based language detection) and one /sitemap.xml per domain (domain based detection) and the old fashion variant and so on.
Comment #8
avpadernoThe changes I have made has been based on requests to support web sites with more languages.
Let us keep it open, and hear the opinion from other people. So far, it has been just a person to debate on this.
Comment #9
avpadernoComment #10
darren ohhass, I know your opinions are strong, but please be less demanding on others. We are very fortunate to have Kiam actively developing this module. Patches are more helpful than demands.
Comment #11
hass commentedWell, but it is not the right way to close cases with valid issues and patches without getting them in or removing *important* functionality without any discussion... I have build the hook_robotstxt mostly for the xmlsitemap module in past and it is still valid functionality that only needs to be updated if it comes to path and domain based language detection. Without i18n the hook works well as it worked in past! I think it shouldn't be a problem to extend the hook by the i18n part.
Discussions if we are able to change a selectbox from support to bug or task and 5.x to 6.x are only annoying and don't help the module. Reopening every case that have status "by design" is also wrong only to make it closed after 2 week. I don't understand and mustn't - but it is wrong and all not helpful to the issues. We need to solve this issue here and get it working - doesn't matter how - but it must work. If we need to change a title - we do this and it doesn't matter if a case was issued for D5 or D6. If two versions need the same fix it must get in and can be handled in one case.
He have now broken a very important functionality by removing hook_robotstxt() and seems not to understand that this needs to be reverted - unbelievable. If the module is not working as core is designed on the end of the day we need to fix it and cases may stay open until this day and someone else may need to jump in and fix the language depended parts if they are missing something like the old hook_robotstxt(). I'm not demanding on someone - I thought very often to take this job myself as it is something that haven't been done yet - but I was occupied by other tasks and this may happen then time permits and when the big restructuring changes form the last weeks are done. Building patches today would invalidate them within hours and I don't understand what is going on with the modules code. I don't like to run after the code... aside I also don't like to provide patches where cases are simply closed without fixing them first (see #192939: Translatable strings review) and was planed to be lost by him. After endless discussion it was nevertheless done, but this is not the way how we handle cases in issue queues. Maybe nobody should provide patches for the module except the main maintainers.
This case was closed before someone was able to provide a patch. (see #2)
Comment #12
avpadernoThe use of the placeholders used by
t()has been fixed where possible; I am not going to change a!variablewith@variablewhen the placeholder must be replaced by an integer. I gave arguments about what I did, and in all of them I showed to be correct.He debates about an implementation of a hook that the module is not able to implement in the correct way, when all he had to do is to change the setting of another module, and add a single line of text.
Patches are welcome, but if they are not correct, they will not be applied; when they are correct, it's the person who has the task to change the code to decide how, and when to implement it. I have been said to apply the patch without to debate any further, just because I was making him notice he was wrong in his assumption. I could not even reply him that his patch was not only fixing the issue reported, but also an issue reported in another place, and to which the maintainer already replied that he didn't see any reason to change the code like suggested.
I shall remind him of when he said that the code should use
file_scan_directory(), and I made him notice that a callback passed to that function does not receive the name of the directories, so the callback used could not beunlink()because it would not be called for the directories, and therefore it could not delete them; not being able to accept he was not right, he then said that if the function was deleting the first level of a directory content, it should userm(), forgetting for a moment that the code was not deleting the first level of the content of a directory, but it was deleting also all the sub directories contained until the fifth level.I can have misunderstood the meaning of the by design status, but all I wanted to do was to close all the outdated reports that were not even updated to the recent releases of the project modules from who opened them. It's surely more polite to set them like fixed, and explaining that they have been set to fixed just to make them close automatically; at least in that case, who opened the issue has still the time to change the status of the report, and add more comments if he has any new evidences of what he is talking of.
That is exactly what happened when he saw an issue of his suddenly become fixed; if I would not have changed the status of the issue, he would have forgotten of the report he made ages ago.
In all these debates, I always had to give prove I was correct; I had to show he was not correct in his affirmations, including the one about a critical task being able to block the creation of an official release. It has not been him to give prove he was correct, because when he had to do that he stopped to debate.
Does he care of the time he made me waste in debates were I was correct in my assumptions? The comments are there for all of you to see; you can judge for yourselves, if really
file_scan_directory()passes the name of the directories to the callback given it like argument, when it is called to recursively scan the content of a directory.I want to see what you would have done when you find somebody that open issues basing on the wrong assumption, you correct him, but he keeps to think to be correct even when you prove he is wrong; for sure, when you see another comment by him you think holy smokes, he is back.
If at the beginning you explain him why what he asks cannot be done, at the end you don't give him an explanation as detailed as the first time, and just say what it's strictly necessary.
At the end it becomes like that person who kept to say help, help... there is a fire then it was not true, and he is not believed when there is really a fire.
All the times he opens an issue, it's just him to give his interpretation; there is nobody else that confirm it's true what he is saying (and there could not be anybody else confirming what he is saying, when he is saying something not exact), and he pretends the others do something just because he says that.
I really feel like the poor mortal that is at the presence of the deux ex machina came down from the sky to resolve our issues; don't even try to ask him, because he doesn't ask, he gives orders.
Comment #13
avpadernoFrom this moment, I will not reply to his comments. I will use my time to complete the task I took to change XML Sitemap, and create the first official release for the Drupal 6 branch.
I am sorry if he will keep to mess with the issue queue, and for the confusion this will generate in who reads the report issue trying to find a solution to a problem he has. I cannot keep to reply to a person who doesn't understand what the others tell him.
Comment #14
avpadernoNobody gave a feedback, so I guess they are fine with the project modules not supporting
hook_robotstxt().I am setting the report like fixed, as there is not action to be taken, in this case.
Comment #15
hass commentedNope. Nobody monitors this queue. I need this.
Comment #16
avpadernoI have already replied in the first comments.
As there is nobody else asking for this feature, the code is not being changed from how it is now.
Comment #17
hass commentedComment #18
avpadernoComment #19
hass commentedComment #20
avpadernoComment #21
jandd commented@hass: I think you should not reopen this bug unless you come up with a working patch adding the behaviour you need. Kiam@avpnet.org does a lot of work for xmlsitemap and you should respect his decission.
Kiam@avpnet.org thanks for your work.
Comment #22
andreiashu commentedI have to agree with jandd and Kiam: unless you bring up a workable solution for this to work I really don't see why you have to be so stubborn.
Be more helpful and less demanding ;)
Cheers