I did some tests with Vinculum on localhost with two Drupal installations (PHP 5.3.8).

Summary:

  • I've discovered some notices and undefined variables.
  • URL for pingback sending must be absolute.
  • Vinculum sending must be triggered after a node is created, otherwise the target cannot reach the newly created node.

Really cool module. Thanks @manarth for your work.

Comments

scito’s picture

Title: Polishing of Vinculum: Fixes and Improvements » Polishing of Vinculum: Fixes and improvements
Status: Active » Needs review
StatusFileSize
new58.08 KB

I've written a patch addressing the above issues and improving the module.

The patch includes:

  • Fixes notices and undefined variables. The error locations are marked with @FIXED.
  • Sending of Vinculum in hook_exit. (Adapted form Pingback module.)
  • Cron code copied. (Adapted form Pingback module.) NEVER USED AND NOT TESTED.
  • Basic excerpt for pingback comments. (Adapted form Pingback module.)
  • I've introduced some Drupal variables. Basically, the same as in the Pingback module. There is no UI.
  • Support trackback discovery for aliased url and basic node/nid.
  • Vinculum comments creation improved.
  • User message for a successfully sent Vinculum.
  • Debug code is still included in the patch. Some comments are marked with @REMOVE.
  • German translation of end user visible text.
  • Minimal documentation.

There needs still work to be done.

I've tested the patched module on localhost between two Drupal installations:

  • Receiving and Sending of Pingbacks worked.
  • Receiving and Sending of Trackbacks worked.
  • Trackback discorvery of the targed site worked for alias and node/nide.
  • Comments were added for received Pingbacks or Trackbacks.

Not tested:

  • Trigger, Action and Rules integration.
  • Cron functionality.
  • No real world tests with other systems.

All my tests were manually. More testing is required.

scito’s picture

I've tested the patched module with wordpress.com.

http://vinculumping.wordpress.com/ <--> http://dev.scito.ch/

It worked with pingback protocol in both directions.
It worked also with enabled Pathauto and Global redirect.

I could not find a free blogging service supporting trackback. So, no tests here.

akalata’s picture

Hi @scito,

Just found the module today, wanted to try it out.

I've applied your patch, but still can't figure out how to send trackbacks. I have a link to a TypePad blog post, and TypePad provides a 'TrackBack URL', so now I just need to post to that url (I think).

Should I add a custom field for the URL, and trigger the post using Rules? Or Trigger?

scito’s picture

@akalata: Just include the URL in your article. The module will look for URLs and uses the autodiscovery mechanism to send pingbacks and trackbacks. Of course you have to enable the necessary vinculum modules. If it does not work, look for messages in the watchdog reports of the type Vinculum or Trackback. Does it work?

scito’s picture

StatusFileSize
new59.96 KB
new7 KB

I've improved my patch:

  • Improved pingback and trackback comments
  • Ignore local URLs

I've added a delta to the last patch and a full patch.

ckujawa’s picture

Hi. I am very interested in this module. I am relatively new to both php and Drupal, but am a Java (J2EE specifically) developer by trade so it shouldn't take long for me to learn php. What can I do to help move Vinculum to release quality?

scito’s picture

@ckujawa: Cool! I'm not the maintainer of this module. I've just made some improvements for my blog. The changes I've posted here. You can apply the vinculum-1333362-5.patch to the current dev version and test if it works for you.

Additional tasks to do:

  • Test Trigger, Action and Rules integration.
  • Test cron functionality.
  • Maybe write some admin pages for variables such as cron integration.

BTW: I've using this module on my Blog. I'm using comments for received pingbacks/talkbacks.

markwk’s picture

StatusFileSize
new30.25 KB

@scito: I'm just starting to go through this code/project for a D7 thing. Most of your changes look fine. Two issues:

  • You don't need to include the license in the file since those are added by d.o.'s packaging setup.
  • you don't need to include .po / localization files inside of modules themselves anymore since localize.drupal.org handles this

I re-rolled the patch below without these.

With 50 reported sites using this module without a dev release, I'm wondering how stable / functionality this module is. I'd like to tack this onto a blog area but don't want it to explode the whole project. Can anyone tell me how well this works?

pheraph’s picture

First of all, thanks for your efforts! I checked out the latest -dev, applied vinculum-1333362-6.patch and installed the module. Although no problems occured it doesn't seem to work at all. I tried a wordpress blog to send a pingback and these pages (http://tech.wizbangblog.com/ping.php, http://reedmaniac.com/scripts/trackback_form.php) to send trackbacks, but they don't arrive at my page.

Could someone with a working environment please try to send a ping- or trackback to one of the blog entries here: http://www.netzwerk-innovation-durch-bildung.de/blog?

Thanks in advance,
Raphael

nitrospectide’s picture

I patched with the latest from comment 8, then installed and enabled all but the 2 action modules. I temporarily got rid of my custom blog tpl so that the data this module puts in $content would write to the page... but I can't seem to get a track/pingback going either to or from between my site and a Wordpress site. I'm not particularly savvy with track/pingbacks, so that could be part of it. What might I be missing?

Here is a blog post using Vinculum:
http://blog.hexatrope.com/blog/2012/03/13/build-buildings-not-facades

Here is a Wordpress post linking to it:
http://www.notionfront.net/notionfront.com/uncategorized/test-pingback/

scito’s picture

StatusFileSize
new49.83 KB

I've fixed a bug. Pingback receiving did not work as the "home" URL was excluded in _vinculum_extract_urls().

The patch is against HEAD.

damienmckenna’s picture

Status: Needs review » Reviewed & tested by the community

Can we just commit this and have a beta release rolled out? If he's willing, maybe scito could be made a co-maintainer?

scito’s picture

StatusFileSize
new53.5 KB

Since the last patch, I've updated my patch.

  1. More watchdog output for debugging.
  2. Fixed a pingpack issue.

This patch reflects my current version that I'm using on my website.

I think it's worth committing this patch as a basis for further improvements.

Leeteq’s picture

If there is hestitance of releasing the code in the patch directly to a new beta, how about releasing the current -dev as alpha, and commit this code as an updated -dev?

But it looks like more maintainers are the real problem here...
@scito: are you willing to be a co-maintainer for this project?

aleix’s picture

The @scito's patch #13 is working fine. I've added some rules integration over this patch, explained in https://drupal.org/node/2110977.

aleix’s picture

Issue summary: View changes
StatusFileSize
new449 bytes

With patch #13 the queue node processing stops ( with WD cron: EntityMalformedException: ... in entity_extract_ids() (line 7693 of [error] ) if queued node doesn't exist.

JThan’s picture

I have added the patch in #13 withoput problems and wanted to add patch in #16 - it gives me an error "fatal: corrupt patch at line 10"

JThan’s picture

It seems to be sending also to anchors inside a node - this should not be. For example: I have added the footnote module, which is creating anchors like domain.de/node/x#footnote1_4fzef9i and vinculum report shows me that is has tried to sent to each footnote: "#footnote1_4fzef9i".

aleix’s picture

StatusFileSize
new397 bytes

Corrected patch in #16 (patch it after #13)

JThan’s picture

Hello aleix.
Thanks for your work. Something was wrong on my side - your patch could not be applied.

I found the error - I had to apply the patch #13 with "patch -p1 < vinculum_polishing_1333362_13.patch" instead of "git apply". "git apply" gave no errors back but did not change anything.

Thanks, I will test now.

JThan’s picture

Thanks again. Here are some questions that came up.

  • Internal Trackbacks are recieved. Is that correct that internal links are sent and recieved also internally?
  • Should this be new ticket (Feature request): Can we add a class to the comment wrapper, so vinculum comments can be styled differently?
  • I forbid HTML in the comments, which leads to the vinculum comments appearing empty. Can we somehow change that?
aleix’s picture

Hi JThan

  • This is as it should, at least it's as is working in wordpress' pingbacks
  • Maybe out of scope, just to bring you some ideas, I found useful to drive the vinculums to be a type of message through rules, allowing to be independent of comments...(making it dependent of message module and rules.(there's a patch waiting making it possible)
JThan’s picture

Thank you for your answer.

Having it in the comments section would not be too bad for me right now - but maybe later when I start to recieve a lot of them this would lead to a very clutterred comment section.

So, I will try to look after the rules and message thing, although for beginners who have it in the comment section an additional class would still be good, imho.

nitrospectide’s picture

I have installed this, and I noticed I started getting all sorts of spam trackbacks. Is there any way to tie it into Mollom text analysis or something?